Here is a strange one. I noticed a few morphs changing appearance after saving the image. It seems to be related to the hibernation of Forms which happens prior to saving the image. This snippet
(m := SimpleButtonMorph new) label: 'Black on yellow'; color: Color yellow. Form allInstancesDo: [ :f | f hibernate]. "this happens when saving image" m imageForm asMorph openInWorld
has a white background for the text with a bit of yellow surrounding it. Running it in a clean 5.1 image gets the expected result: black text on a yellow background. However, if I load the preferences from my current image into the clean image, then the problem occurs: black on white on yellow. My prefs are attached if you would like to take a stab at it (and if it isn't too large an attachment).
A bit more on what's happening
If the font used (the default font in the example below) is a StrikeFont, then this
f1 _ Form extent: 100@100 depth: 32. f1 fillColor: Color green. Form allInstancesDo: [ :f | f hibernate]. f1 getCanvas drawString: 'Black on green' in: (0@0 extent: 100@100) font: nil color: Color black. f1 asMorph openInWorld.
draws black text on a white rectangle on a larger green rectangle. StrikeFonts are drawn (in depth 32, anyway) by a primitive using rule 34. If the primitive fails, then #copyBits is used character by character.
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> (sourceForm isForm and: [sourceForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (destForm isForm and: [destForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (halftoneForm isForm and: [halftoneForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
On 10/6/17 10:59 PM, Bob Arning wrote:
Here is a strange one. I noticed a few morphs changing appearance after saving the image. It seems to be related to the hibernation of Forms which happens prior to saving the image. This snippet
(m := SimpleButtonMorph new) label: 'Black on yellow'; color: Color yellow. Form allInstancesDo: [ :f | f hibernate]. "this happens when saving image" m imageForm asMorph openInWorld
has a white background for the text with a bit of yellow surrounding it. Running it in a clean 5.1 image gets the expected result: black text on a yellow background. However, if I load the preferences from my current image into the clean image, then the problem occurs: black on white on yellow. My prefs are attached if you would like to take a stab at it (and if it isn't too large an attachment).
What's the image version you export your prefs from?
Best, Marcel Am 07.10.2017 14:15:46 schrieb Bob Arning arning315@comcast.net: A bit more on what's happening If the font used (the default font in the example below) is a StrikeFont, then this
f1 _ Form extent: 100@100 depth: 32. f1 fillColor: Color green. Form allInstancesDo: [ :f | f hibernate]. f1 getCanvas drawString: 'Black on green' in: (0@0 extent: 100@100) font: nil color: Color black. f1 asMorph openInWorld.
draws black text on a white rectangle on a larger green rectangle. StrikeFonts are drawn (in depth 32, anyway) by a primitive using rule 34. If the primitive fails, then #copyBits is used character by character.
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> (sourceForm isForm and: [sourceForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (destForm isForm and: [destForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (halftoneForm isForm and: [halftoneForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
On 10/6/17 10:59 PM, Bob Arning wrote:
Here is a strange one. I noticed a few morphs changing appearance after saving the image. It seems to be related to the hibernation of Forms which happens prior to saving the image. This snippet
(m := SimpleButtonMorph new) label: 'Black on yellow'; color: Color yellow. Form allInstancesDo: [ :f | f hibernate]. "this happens when saving image" m imageForm asMorph openInWorld has a white background for the text with a bit of yellow surrounding it. Running it in a clean 5.1 image gets the expected result: black text on a yellow background. However, if I load the preferences from my current image into the clean image, then the problem occurs: black on white on yellow. My prefs are attached if you would like to take a stab at it (and if it isn't too large an attachment).
5.1
On 10/7/17 8:17 AM, Marcel Taeumel wrote:
What's the image version you export your prefs from?
Best, Marcel
Am 07.10.2017 14:15:46 schrieb Bob Arning arning315@comcast.net:
A bit more on what's happening
If the font used (the default font in the example below) is a StrikeFont, then this
f1 _ Form extent: 100@100 depth: 32. f1 fillColor: Color green. Form allInstancesDo: [ :f | f hibernate]. f1 getCanvas drawString: 'Black on green' in: (0@0 extent: 100@100) font: nil color: Color black. f1 asMorph openInWorld.
draws black text on a white rectangle on a larger green rectangle. StrikeFonts are drawn (in depth 32, anyway) by a primitive using rule 34. If the primitive fails, then #copyBits is used character by character.
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> (sourceForm isForm and: [sourceForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (destForm isForm and: [destForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (halftoneForm isForm and: [halftoneForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
On 10/6/17 10:59 PM, Bob Arning wrote:
Here is a strange one. I noticed a few morphs changing appearance after saving the image. It seems to be related to the hibernation of Forms which happens prior to saving the image. This snippet
(m := SimpleButtonMorph new) label: 'Black on yellow'; color: Color yellow. Form allInstancesDo: [ :f | f hibernate]. "this happens when saving image" m imageForm asMorph openInWorld
has a white background for the text with a bit of yellow surrounding it. Running it in a clean 5.1 image gets the expected result: black text on a yellow background. However, if I load the preferences from my current image into the clean image, then the problem occurs: black on white on yellow. My prefs are attached if you would like to take a stab at it (and if it isn't too large an attachment).
Hi Bob,
I would look for state that changes via preferences updates. Here are two side-effects that might help understand the situation:
Preferences class >> #storePreferencesIn: It is odd that there is a hidden clean-up of the var "Parameters" in this method. You image might have specifics in that var?
Preference >> #notifyInformeeOfChange PragmaPreference >> #notifyInformeeOfChange Your current image and a fresh 5.1 image might trigger different amounts of those update calls.
Best, Marcel Am 07.10.2017 14:17:48 schrieb Marcel Taeumel marcel.taeumel@hpi.de: What's the image version you export your prefs from?
Best, Marcel Am 07.10.2017 14:15:46 schrieb Bob Arning arning315@comcast.net: A bit more on what's happening If the font used (the default font in the example below) is a StrikeFont, then this
f1 _ Form extent: 100@100 depth: 32. f1 fillColor: Color green. Form allInstancesDo: [ :f | f hibernate]. f1 getCanvas drawString: 'Black on green' in: (0@0 extent: 100@100) font: nil color: Color black. f1 asMorph openInWorld.
draws black text on a white rectangle on a larger green rectangle. StrikeFonts are drawn (in depth 32, anyway) by a primitive using rule 34. If the primitive fails, then #copyBits is used character by character.
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> (sourceForm isForm and: [sourceForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (destForm isForm and: [destForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (halftoneForm isForm and: [halftoneForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
On 10/6/17 10:59 PM, Bob Arning wrote:
Here is a strange one. I noticed a few morphs changing appearance after saving the image. It seems to be related to the hibernation of Forms which happens prior to saving the image. This snippet
(m := SimpleButtonMorph new) label: 'Black on yellow'; color: Color yellow. Form allInstancesDo: [ :f | f hibernate]. "this happens when saving image" m imageForm asMorph openInWorld has a white background for the text with a bit of yellow surrounding it. Running it in a clean 5.1 image gets the expected result: black text on a yellow background. However, if I load the preferences from my current image into the clean image, then the problem occurs: black on white on yellow. My prefs are attached if you would like to take a stab at it (and if it isn't too large an attachment).
Here it is boiled down:
x _ #('Bitmap DejaVu Sans' 'Atlanta') at: 1. f1 _ Form extent: 100@100 depth: 32. f1 fillColor: Color green. Form allInstancesDo: [ :f | f hibernate]. f1 getCanvas drawString: 'Black on green' in: (0@0 extent: 100@100) font: (StrikeFont familyName: x size: 12) color: Color black. f1 asMorph openInWorld.
Do this in a clean 5.1 image and all looks as expected.
Turn off subPixelRendering and the problem appears.
The Atlanta font works fine either way.
On 10/7/17 8:32 AM, Marcel Taeumel wrote:
Hi Bob,
I would look for state that changes via preferences updates. Here are two side-effects that might help understand the situation:
Preferences class >> #storePreferencesIn: It is odd that there is a hidden clean-up of the var "Parameters" in this method. You image might have specifics in that var?
Preference >> #notifyInformeeOfChange PragmaPreference >> #notifyInformeeOfChange Your current image and a fresh 5.1 image might trigger different amounts of those update calls.
Best, Marcel
Am 07.10.2017 14:17:48 schrieb Marcel Taeumel marcel.taeumel@hpi.de:
What's the image version you export your prefs from?
Best, Marcel
Am 07.10.2017 14:15:46 schrieb Bob Arning arning315@comcast.net:
A bit more on what's happening
If the font used (the default font in the example below) is a StrikeFont, then this
f1 _ Form extent: 100@100 depth: 32. f1 fillColor: Color green. Form allInstancesDo: [ :f | f hibernate]. f1 getCanvas drawString: 'Black on green' in: (0@0 extent: 100@100) font: nil color: Color black. f1 asMorph openInWorld.
draws black text on a white rectangle on a larger green rectangle. StrikeFonts are drawn (in depth 32, anyway) by a primitive using rule 34. If the primitive fails, then #copyBits is used character by character.
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta | ascii | <primitive:'primitiveDisplayString' module:'BitBltPlugin'> (sourceForm isForm and: [sourceForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (destForm isForm and: [destForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. (halftoneForm isForm and: [halftoneForm unhibernate]) ifTrue: [ ^self primDisplayString: aString from: startIndex to: stopIndex map: glyphMap xTable: xTable kern: kernDelta ]. startIndex to: stopIndex do:[:charIndex| ascii := (aString at: charIndex) asciiValue. glyphMap ifNotNil:[ascii := glyphMap at: ascii+1]. sourceX := xTable at: ascii + 1. width := (xTable at: ascii + 2) - sourceX. self copyBits. destX := destX + width + kernDelta. ].
On 10/6/17 10:59 PM, Bob Arning wrote:
Here is a strange one. I noticed a few morphs changing appearance after saving the image. It seems to be related to the hibernation of Forms which happens prior to saving the image. This snippet
(m := SimpleButtonMorph new) label: 'Black on yellow'; color: Color yellow. Form allInstancesDo: [ :f | f hibernate]. "this happens when saving image" m imageForm asMorph openInWorld
has a white background for the text with a bit of yellow surrounding it. Running it in a clean 5.1 image gets the expected result: black text on a yellow background. However, if I load the preferences from my current image into the clean image, then the problem occurs: black on white on yellow. My prefs are attached if you would like to take a stab at it (and if it isn't too large an attachment).
On 07.10.2017, at 14:15, Bob Arning arning315@comcast.net wrote:
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
This seems like a very reasonable thing. Care to put it into the inbox?
Best regards -Tobias
I never learned how. :-(
On 10/7/17 10:37 AM, Tobias Pape wrote:
On 07.10.2017, at 14:15, Bob Arning arning315@comcast.net wrote:
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
This seems like a very reasonable thing. Care to put it into the inbox?
Best regards -Tobias
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
If you do not mind giving it a try, here is what you can do:
1) Create an account on source.squeak.org A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member". C) Fill in the information on the form. In the "Initials:" field, use your regular author initials, same as for method stamps. D) Click "Save". E) Remember the password that you just defined, because you will use it in step 2 below.
2) Open the inbox repository A) In your Squeak 5.1 image, open a Monticello Browser. B) On the right hand side of the browser, highlight the "http://source.squeak.org.trunk" repository. C) Do a right-click, select "edit repository info" D) In the edit dialog, change "trunk" to "inbox" in the location, put your author initials in the "user" field, and put your new password in the "password" field. E) Click "Accept" F) Verify that http://source.squeak.org/inbox now appears as a repository in the right hand pane of your Monticello browser.
3) Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository "http://source.squeak.org/trunk" on the right. C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
4) Submit your changes to the inbox A) Now highlight the "http://source.squeak.org/inbox" repository on the right pane of the Monticello browser, and package "Morphic" on the left. B) Click the "Save" button on the top of the Monticello browser. C) In the dialog that opens now, find the "empty log message" text. Replace it with your description of what you are changing. This would be the same kind of description that you would put into the preamble of a change set. D) Click "Accept" E) Wait for the changes to be sent to the inbox repository.
5) Follow ups A) Your new update should now appear in the inbox. In the Monticello browser, highlight the inbox repository and click the "Open" button at the top. A Repository Browser will open. Click the "Refresh" button, and you should see your new entry listed. You can also find in through the web interface for http://source.squeak.org. B) On the squeak-dev list, a mail notification should appear within a few minutes to notify the list about your new submission. C) You can reply to that notification on the list, or to your earlier mail thread to offer any other explanations or to ask someone to look at your inbox submission and move it to trunk (or to "treated inbox" if it is not suitable for trunk for some reason).
Dave
On 10/7/17 10:37 AM, Tobias Pape wrote:
On 07.10.2017, at 14:15, Bob Arning arning315@comcast.net wrote:
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
This seems like a very reasonable thing. Care to put it into the inbox?
Best regards -Tobias
Thanks Dave!
On 07.10.2017, at 20:02, David T. Lewis lewis@mail.msen.com wrote:
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
Two comments:
If you do not mind giving it a try, here is what you can do:
Step 1 is optional but helps the discussion :) Inbox is open for all
- Create an account on source.squeak.org
A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member". C) Fill in the information on the form. In the "Initials:" field, use your regular author initials, same as for method stamps. D) Click "Save". E) Remember the password that you just defined, because you will use it in step 2 below.
Note to _NOT_ use valuable passwords in step E. We have yet to provide HTTPS here.
Best regards -Tobias
- Open the inbox repository
A) In your Squeak 5.1 image, open a Monticello Browser. B) On the right hand side of the browser, highlight the "http://source.squeak.org.trunk" repository. C) Do a right-click, select "edit repository info" D) In the edit dialog, change "trunk" to "inbox" in the location, put your author initials in the "user" field, and put your new password in the "password" field. E) Click "Accept" F) Verify that http://source.squeak.org/inbox now appears as a repository in the right hand pane of your Monticello browser.
- Get ready to commit your changes to the inbox
A) Make sure your image is updated (world -> help... -> update code from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository "http://source.squeak.org/trunk" on the right. C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
- Submit your changes to the inbox
A) Now highlight the "http://source.squeak.org/inbox" repository on the right pane of the Monticello browser, and package "Morphic" on the left. B) Click the "Save" button on the top of the Monticello browser. C) In the dialog that opens now, find the "empty log message" text. Replace it with your description of what you are changing. This would be the same kind of description that you would put into the preamble of a change set. D) Click "Accept" E) Wait for the changes to be sent to the inbox repository.
- Follow ups
A) Your new update should now appear in the inbox. In the Monticello browser, highlight the inbox repository and click the "Open" button at the top. A Repository Browser will open. Click the "Refresh" button, and you should see your new entry listed. You can also find in through the web interface for http://source.squeak.org. B) On the squeak-dev list, a mail notification should appear within a few minutes to notify the list about your new submission. C) You can reply to that notification on the list, or to your earlier mail thread to offer any other explanations or to ask someone to look at your inbox submission and move it to trunk (or to "treated inbox" if it is not suitable for trunk for some reason).
Dave
On 10/7/17 10:37 AM, Tobias Pape wrote:
On 07.10.2017, at 14:15, Bob Arning arning315@comcast.net wrote:
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
This seems like a very reasonable thing. Care to put it into the inbox?
Best regards -Tobias
Hi, Make a help topic and add this to the help browser :-)
Best, Karl
On Sat, Oct 7, 2017 at 8:02 PM, David T. Lewis lewis@mail.msen.com wrote:
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
If you do not mind giving it a try, here is what you can do:
- Create an account on source.squeak.org
A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member". C) Fill in the information on the form. In the "Initials:" field, use your regular author initials, same as for method stamps. D) Click "Save". E) Remember the password that you just defined, because you will use it in step 2 below.
- Open the inbox repository
A) In your Squeak 5.1 image, open a Monticello Browser. B) On the right hand side of the browser, highlight the " http://source.squeak.org.trunk" repository. C) Do a right-click, select "edit repository info" D) In the edit dialog, change "trunk" to "inbox" in the location, put your author initials in the "user" field, and put your new password in the "password" field. E) Click "Accept" F) Verify that http://source.squeak.org/inbox now appears as a repository in the right hand pane of your Monticello browser.
- Get ready to commit your changes to the inbox
A) Make sure your image is updated (world -> help... -> update code from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository "http://source.squeak.org/trunk" on the right. C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
- Submit your changes to the inbox
A) Now highlight the "http://source.squeak.org/inbox" repository on the right pane of the Monticello browser, and package "Morphic" on the left. B) Click the "Save" button on the top of the Monticello browser. C) In the dialog that opens now, find the "empty log message" text. Replace it with your description of what you are changing. This would be the same kind of description that you would put into the preamble of a change set. D) Click "Accept" E) Wait for the changes to be sent to the inbox repository.
- Follow ups
A) Your new update should now appear in the inbox. In the Monticello browser, highlight the inbox repository and click the "Open" button at the top. A Repository Browser will open. Click the "Refresh" button, and you should see your new entry listed. You can also find in through the web interface for http://source.squeak.org. B) On the squeak-dev list, a mail notification should appear within a few minutes to notify the list about your new submission. C) You can reply to that notification on the list, or to your earlier mail thread to offer any other explanations or to ask someone to look at your inbox submission and move it to trunk (or to "treated inbox" if it is not suitable for trunk for some reason).
Dave
On 10/7/17 10:37 AM, Tobias Pape wrote:
On 07.10.2017, at 14:15, Bob Arning arning315@comcast.net wrote:
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
This seems like a very reasonable thing. Care to put it into the inbox?
Best regards -Tobias
On 10/7/17 2:02 PM, David T. Lewis wrote:
- Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository"http://source.squeak.org/trunk" on the right.
If I select Morphic on the left (and why am I selecting this?), the pane on the right changes so that my choices are now '/Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
trunk and inbox are no longer there
C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
I just add the inbox repository on a package by package basis. I.e. make sure you have selected the package with the * (in your case 'Morphic') _first_, then add the inbox.
Then instead of selecting /Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
You select the the repository on the right hand side whch is the inbox.
Please also note that for inbox contributions to be useful you have to submit them from a fully updated latest trunk image.
http://files.squeak.org/6.0alpha/
See also
How to add the inbox as a repository to commit code to
http://wiki.squeak.org/squeak/6545 (has screen shots)
HTH
--Hannes
On 10/8/17, Bob Arning arning315@comcast.net wrote:
On 10/7/17 2:02 PM, David T. Lewis wrote:
- Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code
from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository"http://source.squeak.org/trunk" on the right.
If I select Morphic on the left (and why am I selecting this?), the pane on the right changes so that my choices are now '/Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
trunk and inbox are no longer there
C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
The problem I noted in 5.1 does not exist in 6.0. Sorry for the disturbance.
On 10/8/17 2:04 AM, H. Hirzel wrote:
I just add the inbox repository on a package by package basis. I.e. make sure you have selected the package with the * (in your case 'Morphic') _first_, then add the inbox.
Then instead of selecting /Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
You select the the repository on the right hand side whch is the inbox.
Please also note that for inbox contributions to be useful you have to submit them from a fully updated latest trunk image.
http://files.squeak.org/6.0alpha/
See also
How to add the inbox as a repository to commit code to
http://wiki.squeak.org/squeak/6545 (has screen shots)
HTH
--Hannes
On 10/8/17, Bob Arning arning315@comcast.net wrote:
On 10/7/17 2:02 PM, David T. Lewis wrote:
- Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code
from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository"http://source.squeak.org/trunk" on the right.
If I select Morphic on the left (and why am I selecting this?), the pane on the right changes so that my choices are now '/Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
trunk and inbox are no longer there
C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the
most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
apologies again, but it's still bad in 6.0, so I will continue with this process
On 10/8/17 7:05 AM, Bob Arning wrote:
The problem I noted in 5.1 does not exist in 6.0. Sorry for the disturbance.
On 10/8/17 2:04 AM, H. Hirzel wrote:
I just add the inbox repository on a package by package basis. I.e. make sure you have selected the package with the * (in your case 'Morphic') _first_, then add the inbox.
Then instead of selecting /Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
You select the the repository on the right hand side whch is the inbox.
Please also note that for inbox contributions to be useful you have to submit them from a fully updated latest trunk image.
http://files.squeak.org/6.0alpha/
See also
How to add the inbox as a repository to commit code to
http://wiki.squeak.org/squeak/6545 (has screen shots)
HTH
--Hannes
On 10/8/17, Bob Arningarning315@comcast.net wrote:
On 10/7/17 2:02 PM, David T. Lewis wrote:
- Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code
from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository"http://source.squeak.org/trunk" on the right.
If I select Morphic on the left (and why am I selecting this?), the pane on the right changes so that my choices are now '/Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' 'http://source.squeak.org/squeak51'
trunk and inbox are no longer there
C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the
most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
On 08.10.2017, at 13:05, Bob Arning arning315@comcast.net wrote:
The problem I noted in 5.1 does not exist in 6.0. Sorry for the disturbance.
The disturbance was worthwhile. We now know for sure that we have to explain the inbox process better.
Best regards -Tobias
On 10/8/17 2:04 AM, H. Hirzel wrote:
I just add the inbox repository on a package by package basis. I.e. make sure you have selected the package with the * (in your case 'Morphic') _first_, then add the inbox.
Then instead of selecting /Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' ' http://source.squeak.org/squeak51 '
You select the the repository on the right hand side whch is the inbox.
Please also note that for inbox contributions to be useful you have to submit them from a fully updated latest trunk image.
http://files.squeak.org/6.0alpha/
See also
How to add the inbox as a repository to commit code to
http://wiki.squeak.org/squeak/6545
(has screen shots)
HTH
--Hannes
On 10/8/17, Bob Arning arning315@comcast.net wrote:
On 10/7/17 2:02 PM, David T. Lewis wrote:
- Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code
from server) B) In the Monticello browser, highlight package "Morphic" on the left, and repository "http://source.squeak.org/trunk" on the right.
If I select Morphic on the left (and why am I selecting this?), the pane on the right changes so that my choices are now '/Users/bob/Desktop/clean 5.1/Squeak5.1-16549-32bit.app/Contents/Resources/package-cache' ' http://source.squeak.org/squeak51 '
trunk and inbox are no longer there
C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
On Sun, Oct 8, 2017 at 1:23 PM, Tobias Pape Das.Linux@gmx.de wrote:
On 08.10.2017, at 13:05, Bob Arning arning315@comcast.net wrote:
The problem I noted in 5.1 does not exist in 6.0. Sorry for the
disturbance.
The disturbance was worthwhile. We now know for sure that we have to explain the inbox process better.
True. Also, we should pre-configure Trunk images with the inbox repo (add it to all trunk packages). - Bert -
On 10/7/17 2:02 PM, David T. Lewis wrote:
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
If you do not mind giving it a try, here is what you can do:
Create an account on source.squeak.org A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member". C) Fill in the information on the form. In the "Initials:" field, use your regular author initials, same as for method stamps. D) Click "Save". E) Remember the password that you just defined, because you will use it in step 2 below.
Open the inbox repository A) In your Squeak 5.1 image, open a Monticello Browser. B) On the right hand side of the browser, highlight the "http://source.squeak.org.trunk" repository.
That's "/trunk" right?
C) Do a right-click, select "edit repository info" D) In the edit dialog, change "trunk" to "inbox" in the location, put your author initials in the "user" field, and put your new password in the "password" field. E) Click "Accept" F) Verify that http://source.squeak.org/inbox now appears as a repository in the right hand pane of your Monticello browser.
- Get ready to commit your changes to the inbox A) Make sure your image is updated (world -> help... -> update code from server) B) In the Monticello browser, highlight package "Morphic" on the left, and
"Graphics" in this case?
repository "http://source.squeak.org/trunk" on the right.
This is the same "trunk" that I renamed to "inbox" in the previous step?
C) Click the "Changes" button on the top. D) The "changes" here are the differences between your image and the most recent version in the trunk repository. Verify that these are the changes that you want to submit, no more and no less. If something looks wrong, stop and ask for tips on the squeak-dev list.
If I get changes from trunk, it is one method. If I get changes from inbox, it is a bazillion. So, if I save to inbox, am I saving one or a bazillion?
Submit your changes to the inbox A) Now highlight the "http://source.squeak.org/inbox" repository on the right pane of the Monticello browser, and package "Morphic" on the left. B) Click the "Save" button on the top of the Monticello browser. C) In the dialog that opens now, find the "empty log message" text. Replace it with your description of what you are changing. This would be the same kind of description that you would put into the preamble of a change set. D) Click "Accept" E) Wait for the changes to be sent to the inbox repository.
Follow ups A) Your new update should now appear in the inbox. In the Monticello browser, highlight the inbox repository and click the "Open" button at the top. A Repository Browser will open. Click the "Refresh" button, and you should see your new entry listed. You can also find in through the web interface for http://source.squeak.org. B) On the squeak-dev list, a mail notification should appear within a few minutes to notify the list about your new submission. C) You can reply to that notification on the list, or to your earlier mail thread to offer any other explanations or to ask someone to look at your inbox submission and move it to trunk (or to "treated inbox" if it is not suitable for trunk for some reason).
Dave
On 10/7/17 10:37 AM, Tobias Pape wrote:
On 07.10.2017, at 14:15, Bob Arning arning315@comcast.net wrote:
It seems like rule 34 is handled differently by primitiveDisplayString and primitiveCopyBits. If I add code as exists elsewhere to unhibernate forms and retry, all is working as expected:
This seems like a very reasonable thing. Care to put it into the inbox?
Best regards -Tobias
On Sat, Oct 7, 2017 at 1:02 PM, David T. Lewis lewis@mail.msen.com wrote:
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
If you do not mind giving it a try, here is what you can do:
- Create an account on source.squeak.org
A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member".
You do not have to register to contribute to the Inbox.
Management of the inbox is way out of my area of expertise, but if one wanted to encourage inbox submissions, a one-click (or at least, one-doit) solution would go a long way.
Inbox uploadPackage: 'Graphics' explanation: 'the fallback and the primitive are not doing the same thing. prefer the primitive'
On 10/9/17 11:36 AM, Chris Muller wrote:
On Sat, Oct 7, 2017 at 1:02 PM, David T. Lewis lewis@mail.msen.com wrote:
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
If you do not mind giving it a try, here is what you can do:
- Create an account on source.squeak.org A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member".
You do not have to register to contribute to the Inbox.
On 10/9/17, Bob Arning arning315@comcast.net wrote:
Management of the inbox is way out of my area of expertise, but if one wanted to encourage inbox submissions, a one-click (or at least, one-doit) solution would go a long way.
Inbox uploadPackage: 'Graphics' explanation: 'the fallback and the primitive are not doing the same thing. prefer the primitive'
+1
On 10/9/17 11:36 AM, Chris Muller wrote:
On Sat, Oct 7, 2017 at 1:02 PM, David T. Lewis lewis@mail.msen.com wrote:
On Sat, Oct 07, 2017 at 11:12:10AM -0400, Bob Arning wrote:
I never learned how. :-(
I am sure you are not the only one. I guess we should get some very simple and clear instructions on the squeak.org page for How To Contribute to the Inbox.
If you do not mind giving it a try, here is what you can do:
- Create an account on source.squeak.org A) Using a web browser, go to http://source.squeak.org. B) On the left side of the web page, click on "Register Member".
You do not have to register to contribute to the Inbox.
squeak-dev@lists.squeakfoundation.org