The Trunk: Tools-eem.809.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-eem.809.mcz

commits-2
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 := ''!