Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.809.mcz
==================== Summary ====================
Name: Tools-eem.809
Author: eem
Time: 30 April 2018, 1:24:43.021109 pm
UUID: a6381b1f-8230-4287-90f2-024d524e146d
Ancestors: Tools-cmm.808
Merge inbox submissions
Name: Tools-LM.808
Author: LM
Time: 28 April 2018, 4:16:15.825505 pm
UUID: 44402b15-5903-4ba6-87eb-544389e25886
Ancestors: Tools-cmm.807
Added the ability to copy a bug report to the clipboard by right clicking on the stack trace in the Debugger and selecting "bug report to clipboard".
This feature is added as an alternative to the "mail out bug report" feature, in the case that the bug report is not meant to be sent as an email, but rather distributed in a different way (for example via Github issues). It should make it easier for users to report bugs in detail and for developers to diagnose the issue.
Name: Tools-jr.809
Author: jr
Time: 29 April 2018, 7:26:21.629471 pm
UUID: 95b32bbc-8dd4-bf49-8226-b727ef91e4de
Ancestors: Tools-cmm.808
Fix small glitch in MessageSet initialization
=============== Diff against Tools-cmm.808 ===============
Item was added:
+ ----- Method: Debugger>>copyBugReportToClipboard (in category 'context stack menu') -----
+ copyBugReportToClipboard
+
+ | messageStream |
+ messageStream := WriteStream on: (String new: 1500).
+ self interruptedContext errorReportOn: messageStream.
+ Clipboard clipboardText: messageStream contents.!
Item was changed:
----- Method: Debugger>>mainContextStackMenu: (in category 'context stack menu') -----
mainContextStackMenu: aMenu
"Set up the menu appropriately for the context-stack-list, unshifted"
<contextStackMenuShifted: false>
^ aMenu addList: #(
('fullStack (f)' fullStack)
('restart (r)' restart)
('proceed (p)' proceed)
('step (t)' doStep)
('step through (T)' stepIntoBlock)
('send (e)' send)
('where (w)' where)
('peel to first like this' peelToFirst)
-
('return entered value' returnValue)
-
('toggle break on entry' toggleBreakOnEntry)
('senders of (n)' browseSendersOfMessages)
('implementors of (m)' browseMessages)
('inheritance (i)' methodHierarchy)
-
('versions (v)' browseVersions)
-
('references (r)' browseVariableReferences)
('assignments (a)' browseVariableAssignments)
-
('class refs (N)' browseClassRefs)
('browse full (b)' browseMethodFull)
('file out ' fileOutMessage)
-
+ ('mail out bug report' mailOutBugReport)
+ ('bug report to clipboard' copyBugReportToClipboard));
- ('mail out bug report' mailOutBugReport));
yourself
!
Item was changed:
----- Method: MessageSet>>initializeMessageList: (in category 'private') -----
initializeMessageList: anArray
"Initialize my messageList from the given list of MethodReference or string objects. NB: special handling for uniclasses.
Do /not/ replace the elements of anArray if they are already MethodReferences, so as to allow users to construct richer systems, such as differencers between existing and edited versions of code."
messageList := OrderedCollection new.
anArray do: [:each |
each isMethodReference
ifTrue: [messageList addLast: each]
ifFalse: [MessageSet parse: each toClassAndSelector: [ :class :sel |
class ifNotNil: [
messageList addLast: (
+ MethodReference
- MethodReference new
class: class
selector: sel)] ]]].
"Unify labels if wanted."
self class useUnifiedMessageLabels ifTrue: [
messageList do: [:each | | cls |
cls := each actualClass.
each stringVersion:
(cls
ifNil: [each asString]
ifNotNil:
[cls isUniClass
ifTrue: [cls typicalInstanceName, ' ', each selector]
ifFalse: [cls name , ' ' , each selector , ' {' ,
((cls organization categoryOfElement: each selector) ifNil: ['']) , '}' ,
' {', cls category, '}']])]].
messageListIndex := messageList isEmpty ifTrue: [0] ifFalse: [1].
contents := ''!
Patrick Rein uploaded a new version of 60Deprecated to project The Trunk:
http://source.squeak.org/trunk/60Deprecated-pre.17.mcz
==================== Summary ====================
Name: 60Deprecated-pre.17
Author: pre
Time: 30 April 2018, 3:50:18.869101 pm
UUID: 9ef3f0f2-c608-0c49-bcf6-5d199beb2735
Ancestors: 60Deprecated-mt.16
Deprecates the RFC2047 class as the name is too formal. It is replaced by the QEncoding converter.
=============== Diff against 60Deprecated-mt.16 ===============
Item was changed:
SystemOrganization addCategory: #'60Deprecated-Kernel-Methods'!
SystemOrganization addCategory: #'60Deprecated-System-Support'!
+ SystemOrganization addCategory: #'60Deprecated-Collections-Streams'!
SystemOrganization addCategory: #'60Deprecated-Tools-Inspector'!
Item was added:
+ QEncodingMimeConverter subclass: #RFC2047MimeConverter
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: '60Deprecated-Collections-Streams'!
Patrick Rein uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-pre.789.mcz
==================== Summary ====================
Name: Collections-pre.789
Author: pre
Time: 30 April 2018, 1:25:47.613117 pm
UUID: addaf36c-be0c-444f-bc50-074f2e57533e
Ancestors: Collections-pre.788
Implements the rusty and dead mimeEncode method for QuotedPrintableMimeConverter. Refactors some of the RFC2047 code.
=============== Diff against Collections-pre.788 ===============
Item was changed:
MimeConverter subclass: #QuotedPrintableMimeConverter
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
+ !QuotedPrintableMimeConverter commentStamp: 'pre 4/30/2018 12:13' prior: 0!
+ I do "quoted printable" MIME decoding as specified in RFC 2045 "MIME Part One: Format of Internet Message Bodies".
- !QuotedPrintableMimeConverter commentStamp: '<historical>' prior: 0!
- I do quoted printable MIME decoding as specified in RFC 2045 "MIME Part One: Format of Internet Message Bodies".
Short version of RFC2045, Sect. 6.7:
(1) Any octet, except a CR or LF that is part of a CRLF line break of the canonical (standard) form of the data being encoded, may be represented by an "=" followed by a two digit hexadecimal representation of the octet's value. [...]
(2) Octets with decimal values of 33 through 60 inclusive, and 62 through 126, inclusive, MAY be represented as the US-ASCII characters which correspond to those octets [...].
(3) Octets with values of 9 and 32 MAY be represented as US-ASCII TAB (HT) and SPACE characters,
respectively, but MUST NOT be so represented at the end of an encoded line. [...]
(4) A line break in a text body, represented as a CRLF sequence in the text canonical form, must be represented by a (RFC 822) line break, which is also a CRLF sequence, in the Quoted-Printable encoding. [...]
(5) The Quoted-Printable encoding REQUIRES that encoded lines be no more than 76 characters long. If longer lines are to be encoded with the Quoted-Printable encoding, "soft" line breaks
must be used. An equal sign as the last character on a encoded line indicates such a non-significant ("soft") line break in the encoded text.
+ --bf 11/27/1998 16:50
+ (2) simply states that 33 to 126 can be represented by US-ASCII except of the equal-sign itself
+
+ --pre!
- --bf 11/27/1998 16:50!
Item was added:
+ ----- Method: QuotedPrintableMimeConverter>>conversionNeededFor: (in category 'conversion') -----
+ conversionNeededFor: aCharacter
+
+ ^ ((aCharacter asciiValue between: 32 and: 127) not and: [aCharacter asciiValue ~= 9])
+ or: [self reservedCharacters includes: aCharacter]!
Item was added:
+ ----- Method: QuotedPrintableMimeConverter>>encodeChar:to: (in category 'as yet unclassified') -----
+ encodeChar: aChar to: aStream
+
+ aStream nextPut: $=;
+ nextPut: (Character digitValue: aChar asciiValue // 16);
+ nextPut: (Character digitValue: aChar asciiValue \\ 16)
+ !
Item was changed:
----- Method: QuotedPrintableMimeConverter>>mimeDecode (in category 'conversion') -----
mimeDecode
"Do conversion reading from mimeStream writing to dataStream"
+ | line lineStream c1 v1 c2 v2 |
- | line s c1 v1 c2 v2 |
[(line := mimeStream nextLine) isNil] whileFalse: [
line := line withoutTrailingBlanks.
+ line
+ ifEmpty: [dataStream cr]
+ ifNotEmpty: [
+ lineStream := ReadStream on: line.
+ [dataStream nextPutAll: (lineStream upTo: $=).
+ lineStream atEnd] whileFalse: [
+ c1 := lineStream next. v1 := c1 digitValue.
+ ((v1 between: 0 and: 15) and: [lineStream atEnd not])
- line size = 0
- ifTrue: [dataStream cr]
- ifFalse: [
- s := ReadStream on: line.
- [dataStream nextPutAll: (s upTo: $=).
- s atEnd] whileFalse: [
- c1 := s next. v1 := c1 digitValue.
- ((v1 between: 0 and: 15) and: [s atEnd not])
ifFalse: [dataStream nextPut: $=; nextPut: c1]
+ ifTrue: [c2 := lineStream next. v2 := c2 digitValue.
- ifTrue: [c2 := s next. v2 := c2 digitValue.
(v2 between: 0 and: 15)
ifFalse: [dataStream nextPut: $=; nextPut: c1; nextPut: c2]
ifTrue: [dataStream nextPut: (Character value: v1 * 16 + v2)]]].
+ (line last ~= $= and: [mimeStream atEnd not]) ifTrue: [dataStream cr]]].
- line last = $= ifFalse: [dataStream cr]]].
^ dataStream!
Item was added:
+ ----- Method: QuotedPrintableMimeConverter>>mimeEncode (in category 'conversion') -----
+ mimeEncode
+ "Do conversion reading from dataStream writing to mimeStream. Break long lines and escape non-7bit chars."
+
+ | currentCharacter line lineStream linePosition |
+ currentCharacter := nil.
+ [(line := dataStream nextLine) isNil] whileFalse: [
+ lineStream := ReadStream on: line.
+ linePosition := 0.
+
+ [lineStream atEnd] whileFalse: [
+ (self conversionNeededFor: (currentCharacter := lineStream next))
+ ifFalse: [mimeStream nextPut: currentCharacter]
+ ifTrue: [self encodeChar: currentCharacter to: mimeStream].
+ linePosition := linePosition + 1.
+ linePosition = 73 ifTrue: [mimeStream nextPut: $=; crlf. linePosition := 0]].
+ dataStream atEnd ifFalse: [mimeStream crlf]].
+ ^ mimeStream!
Item was added:
+ ----- Method: QuotedPrintableMimeConverter>>reservedCharacters (in category 'as yet unclassified') -----
+ reservedCharacters
+
+ ^ '=' !
Item was changed:
QuotedPrintableMimeConverter subclass: #RFC2047MimeConverter
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
+ !RFC2047MimeConverter commentStamp: 'pre 4/30/2018 12:13' prior: 0!
+ I do q format MIME decoding as specified in RFC 2047 ""MIME Part Three: Message Header Extensions for Non-ASCII Text". See String>>decodeMimeHeader!
- !RFC2047MimeConverter commentStamp: '<historical>' prior: 0!
- I do quoted printable MIME decoding as specified in RFC 2047 ""MIME Part Three: Message Header Extensions for Non-ASCII Text". See String>>decodeMimeHeader!
Item was changed:
----- Method: RFC2047MimeConverter>>encodeChar:to: (in category 'private-encoding') -----
encodeChar: aChar to: aStream
aChar = Character space
ifTrue: [^ aStream nextPut: $_].
+ ^ super encodeChar: aChar to: aStream!
- ((aChar asciiValue between: 32 and: 127) and: [('?=_' includes: aChar) not])
- ifTrue: [^ aStream nextPut: aChar].
- aStream nextPut: $=;
- nextPut: (Character digitValue: aChar asciiValue // 16);
- nextPut: (Character digitValue: aChar asciiValue \\ 16)
- !
Item was added:
+ ----- Method: RFC2047MimeConverter>>reservedCharacters (in category 'private-encoding') -----
+ reservedCharacters
+
+ ^ '?=_' !
Levente Uzonyi uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-ul.1422.mcz
==================== Summary ====================
Name: Morphic-ul.1422
Author: ul
Time: 30 April 2018, 1:54:21.620338 am
UUID: a07d49d4-9104-468e-b610-86f684c1ad0d
Ancestors: Morphic-kfr.1421
- reverted Morphic-tpr.1312's change of SimpleBorder >> #initialize
=============== Diff against Morphic-kfr.1421 ===============
Item was changed:
----- Method: SimpleBorder>>initialize (in category 'initialize-release') -----
initialize
width := 0.
+ baseColor := color := Color transparent!
-
- color := Color transparent!