Mac Carbon VM goes to 3.8.14b7

karl karl.ramberg at chello.se
Tue Dec 12 20:55:22 UTC 2006


John M McIntosh skrev:
> I've published a new Macintosh Carbon Universal (powerpc/macintel) VM 
> 3.8.14b7.
>
> This VM is posted to my idisk or FTP site found via
> http://www.smalltalkconsulting.com/squeak.html
>
>
> I'll note currently the published version on ftp.squeak.org is 
> 3.8.12b4, if someone in the web/server/ftp group could update the mac 
> 3.9 distribution that would be great, perhaps in 24/48 hours just in 
> case someone has issues with the VM.
>
>
> Since the 3.8.12b4 release the work done has included more info.plist 
> entries to control  mouse button mapping,  headless support, and 
> thanks to funding from ViewPoint Research a complete rewrite of the 
> browser plugin logic to launch a VM as a sub-process of the browser 
> using roughly the same logic as the X11 unix browser plugin/VM interface.
>
> As noted earlier the printJob plugin changes to 1.4 to suport 
> CGContext drawing with EPS support, and the FreeType 2 Plugin
> was recompiled to support G3 powerpc machines.
>
> Changes since 3.8.12b4 are listed below:
>
> Mac VM 3.8.14 mach-o build for Carbon, Sophie, Exupery, (Safari & 
> Firefox browsers) and Croquet.
>
> Support for Croquet, support for Safari, support for TK4/Sophie, 
> support for Multiple Windows/Ffenestri, full GC instrumentation, 
> configurable quartz flush drawing, MacIntel Machines, mappable mouse 
> buttons, Safari and Firefox browser support and finally Exupery 
> interfaces.  Plugins include support for
>
> April 24th, 2006 (3.8.12b4)
> June 5th, 2006 (3.8.12b5)
> Sept xth, 2006 (3.8.12b5)
> Sept 22th, 2006 (3.8.12b7)
> Sept 25th, 2006 (3.8.13b1)
> Oct 13th, 2006 (3.8.13b3
> Oct 16th 2006 (3.8.13b4)
> Nov 10th, 2006 (3.8.14b2)
> Nov 16th, 2006 (3.8.14b3)
> Nov 21th, 2006 (3.8.14b5)
> Nov 23th, 2006 (3.8.14b6)
> Dec 12th, 2006 (3.8.14b7)
>
> Still yet to do, in future versions -> Verify that file delete rename 
> etc works on aliases, not the targets. (Yawn, someday)
>
> Pre OS-X users should read about OS-9 packages in the 3.2.4 change notes.
>
> 3.8.14b7    sqMacMain.c    Add signal handler on SIGSEGV, dump all 
> stacks.
>
> 3.8.14b6  More browser changes
>
>         sqMacSecurity    Alter logic to accept plist.info entry for 
> untrustedDirectory.
>         info.plist            Add mouse button logic for browser 
> events, uses SqueakBrowserMouseNoneButton1
>                         etc. Also add SqueakBrowserUnTrustedDirectory 
> which is
>                          ~/Library/Preferences/Squeak/Internet/My Squeak/
>         sqMacMain.c    Add logic to parse new entries (as above) from 
> info.plist
>         sqMacUIEventsUniversal        On figuring out 
> MouseModifierStateCarbon, consider if it's a browser event,
>                     if so then use SqueakBrowserMouseNoneButton1 
> entries, versus SqueakMouseNoneButton1
>
>
> 3.8.14b5    Alter browser logic
>         npsqueak.c      add some more debugging prints
>
>         sqMacMain.c    change version number and UUID
>
>         sqMacNSPluginUILogic2.c    More debug printing, also get 
> correct mouse and modifer key state when we
>                  have a keystroke event.
>
>         sqMacUIEventsUniversal.c    Get browser mouse position via 
> remembering fake carbon events to avoid
>                 doing the get/setPort and GetMousePoint() 1984 logic.  
> Add the checkBrowserForHeartBeat
>                 logic which checks every 6.66 seconds if the parent 
> process (the browser) is running, if not then
>                 we ask the VM to quit. This suggestion by Juergen 
> Gmeiner ensures the VM does not become an
>                 orphaned process if the browser crashes.
>
> 3.8.14b4 had limited release.
>
> 3.8.14b3 sqMacWIndowUnversial.c  Ensure window is created when 
> non-headless and not running under the browser
>         typo in check prevent squeak from showing the window when 
> running standalone for 3.8.14b2.
>        
>         sqMacMain.c        Check processsor status at startup, if 
> non-headless and LSBackgroundOnly is true, then
>                         switch process to foreground.
>         info.plist            rest LSBackgroundOnly to false, from 
> true, to avoid Dock display issue. People
>                         wanting true headless app need then to alter 
> info.plist
>
>         revert bitBlt>copyLoop changes, introduced drawing problems, 
> look at fixing later, or never as time permits
>
> 3.8.14b2 Fixes for browser support
>        
> 3.8.14b1    New browser support on os-x mac/macintel for safari and 
> firefox.
>         This logic now follows the example set by the unix plugin, 
> where we
>         run the VM headless and talk to the browser plugin stub via a 
> two-way pipe to
>         enable fetching data via a URL, drawing the screen, and 
> setting the cursor.
>
>         Thanks to Viewpoint Research for funding this effort.
>         This VM had limited distribution.
>
>         sqMacOpenGL.c            - remove BROWSERPLUGIN
>         sqMacUnixFileInterface.c     - needed include for 
> sqUnixCharConv.h
>         sqMacHostWindow.c        - remove BROWSERPLUGIN
>         sqMacMain.c                - remove BROWSERPLUGIN, add browser 
> pipe logic,
>                                 rearrange startup to handle startup 
> with out window for browser support.
>         sqMacMemory.c            - remove BROWSERPLUGIN
>         sqMacTime.c                - remove BROWSERPLUGIN
>         sqMacUIAppleEvents.c        - remove BROWSERPLUGIN
>         sqMacUIEventsUniversal.c    - remove BROWSERPLUGIN, expose 
> some internals so new browser
>                                 support code can call or access.
>         sqMacUnixCommandLineInterface.c    - add headfull cmd for 
> browser testing
>         sqMacUnixExernalPrims.c    - remove BROWSERPLUGIN
>         sqMacWIndowUnversial.c    - remove BROWSERPLUGIN, changes for 
> browser support,
>                                 assume window is hidden which is 
> different from being headless.
>         sqNamedPrims.h            - remove BROWSERPLUGIN
>         sqPlatformSpecific.h        - remove BROWSERPLUGIN, add URL_FETCH
>         npSqueak                    - Directory, add plugin for 
> browser into source tree
>         sqMacNSPLuginUILogic2.c    - new file to replace 
> sqmacNSPluginUILogic.c
>         sqMacNSPLuginUILogic2.h    - new file to replace 
> sqmacNSPluginUILogic2.c
>
>
> 3.8.13.b4  Headless support
>         sqMacMain.c
>             headless, set background to false if not headless.
>             alter uuid returned to signify which VM this is
>
>         info.plist
>         swap buttons to ensure cmd/opt of trackpad is right
>         Add LSBackgroundOnly to yes i
>
>         sqMacEventsUniversal.c
>         headless support
>        
>         sqMacUnixCommandLineInterface.c
>         headless parm -headless added
>        
>         sqMacWindowUniversal.c
>         headless support
>        
>         platforms/Cross/plugins/ExuperyPLugin created
>
> 3.8.13.b4, b5, b6, b7
>         Had limited distribution to test new button modification logic
>        
> 3.8.13.b3
>         bitBlt>copyLoop changes, normally it prefetchs the next byte 
> for barrel shifting 64 bits when copying from
>         one form to another, and a dirty secret and old bug is that it 
> reads one word past the end of the Form
>         when it processes the last word in the Form. However when you 
> use surfaces where the surface is
>         allocated elsewhere not in object space and in fact say the 
> allocated form is 2MB and the vm memory
>         system makes the frame past the 2MB range non-readable, why 
> then you die on a read protection failure.
>         So alter the loop to consider if it's preload and the last 
> line we don't do the pre-fetch because that could
>         cause a read failure.
> 3.8.13.b2
>         Exupery support, via plugin and changes in the VM for Mac 
> Intel, use merged VMMaker-Exupery change set
>
> 3.8.13.b1
>         Exupery support, via plugin and changes in the VM for Mac Intel.
>         http://minnow.cc.gatech.edu/squeak/5672
>
> 3.8.12.b7 sqMacUIEventsUniversal.c
>         rewrite MouseModifierStateCarbon() So that we use information 
> in info.plist to map buttons left to right
>         1, 2, 3 into red, yellow, blue.   Thus on a scroll mouse the 
> buttons read left to right 1, 3, 2  red,blue,yellow
>         as the mac classic behavior. SqueakMouseCmd is when cmd key is 
> donwn, Option, for option/alt key, and
>         Control for control key. This then gives you full control over 
> what the mouse button to red/yellow/blue is.
>
>     <key>SqueakMouseNoneButton1</key>
>     <integer>1</integer>
>     <key>SqueakMouseNoneButton2</key>
>     <integer>3</integer>
>     <key>SqueakMouseNoneButton3</key>
>     <integer>2</integer>
>     <key>SqueakMouseCmdButton1</key>
>     <integer>2</integer>
>     <key>SqueakMouseCmdButton2</key>
>     <integer>3</integer>
>     <key>SqueakMouseCmdButton3</key>
>     <integer>2</integer>
>     <key>SqueakMouseOptionButton1</key>
>     <integer>3</integer>
>     <key>SqueakMouseOptionButton2</key>
>     <integer>3</integer>
>     <key>SqueakMouseOptionButton3</key>
>     <integer>2</integer>
>     <key>SqueakMouseControlButton1</key>
>     <integer>1</integer>
>     <key>SqueakMouseControlButton2</key>
>     <integer>3</integer>
>     <key>SqueakMouseControlButton3</key>
>     <integer>2</integer>
>
> 3.8.12b6
>         sqMacUIEventsUniversal.c
>         First trial at button mapping, not widely distributed and 
> completely changed by 3.8.12b7
>
> 3.8.12b5
>         sqMacUnixExternalPrims.c
>             Ensure frameworks get loaded out of application resources, 
> then system area. Before
>             we only looked in system area which was wrong if you want 
> to override framework.
>             I'll note we can't load from plugin folder for system 
> frameworks, does not see to work,
>             if first path not found it resolve to system area.
>
>
> -- 
> =========================================================================== 
>
> John M. McIntosh <johnmci at smalltalkconsulting.com>
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> =========================================================================== 
>
>
>
>
>
I'll put the VM up on the ftp. Raymond, could you build another mac 
package ?
Karl



More information about the Squeak-dev mailing list