7597 | VM | minor | always | 01-13-11 02:22 | 01-18-21 23:13 | lewis | lewis | normal | resolved | none | none | fixed | 0 | keyUp events reported incorrectly on SqueakVM | The standard VM reports keyUp events incorrectly if two keys are depressed. The keyUp event is reported for the most recently depressed key, not for the key that is actually being released. Works correctly on Cog, defect exists for standard VM on unix and Mac (not sure for Windows). |
Reported on vm-dev list by Matthew Fulmer (HandMorph-handleEvent.st referenced in the mail posting is attached to this bug report): Date: Wed, 12 Jan 2011 20:30:47 -0500 From: Matthew Fulmer <tapplek@gmail.com> To: vm-dev@lists.squeakfoundation.org Subject: Re: [Vm-dev] Where are precompiled stack VMs or interpreter VMs? On Wed, Jan 12, 2011 at 12:15:22PM -0500, David T. Lewis wrote: > > On Tue, Jan 11, 2011 at 12:45:14PM -0500, Matthew Fulmer wrote: > > > > - Keyboard Up events are incorrect when multiple keys are > > pressed at once. The latest vm's on squeakvm.org fail, > > however, they are nearing a year old, and the cog VMs (all > > newer) don't have this bug. > > I'm not familiar with the Keyboard Up event issue. Can you say > how to reproduce this, preferably with a Squeak trunk image? > Sorry if this was discussed before, but I don't recall it. > > I was not anticipating any further changes to the interpreter VM > until after this round of "official" builds, but this one sounds > like it may be important. File in the attached changeset. (don't show keystroke events) do: "HandMorph showEvents: true" quickly, press A, press B, release A, release B. you should see these flash by the top-left corner of the screen, and on Cog, this is what you see: [keyDown 'a'] [keyDown 'b'] [keyUp 'a'] [keyUp 'b'] on the official VMs, you instead see this: [keyDown 'a'] [keyDown 'b'] [keyUp 'b'] (you can of course use any two keyboard buttons) It's an issue on mac and linux at least. Not sure about windows -- Matthew Fulmer (a.k.a. Tapple) [-- Attachment 0000003: HandMorph-handleEvent.st --] [-- Type: text/x-squeak-fileout, Encoding: quoted-printable, Size: 2.4K --] [-- text/x-squeak-fileout is unsupported (use 'v' to view this part) --] |
HandMorph-handleEvent.st (2 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7873 | any | minor | always | 10-05-18 08:00 | 09-08-19 21:58 | Patrickr | lewis | normal | resolved | none | none | fixed | 0 | Browser spawning crashes in HelpBrowser |
How to reproduce: 1. Open the release notes in the HelpBrowser 2. Select a class name and press (CMD+O) |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7615 | Tools | minor | always | 03-15-11 22:04 | 12-27-18 20:54 | FrankShearar | normal | new | none | none | trunk | open | 0 | FileContentsBrowser>>changeMessageCategories: broken |
I wrote a test for FileContentsBrowser>>changeMessageCategories: but to my surprise I get a DNU: FileContentsBrowser doesn't understand #unlock. I have three implementors of #unlock in my (trunk) image, namely, * Morph>>unlock * SystemWindowButton>>unlock * View>>unlock Of course, a FileContentsBrowser is a Browser is a CodeHolder is a... none of these. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7874 | Connectors | major | always | 10-17-18 07:56 | 11-12-18 09:57 | timkack | normal | new | none | none | open | 0 | Cannot install Connectors in 5.2 |
The release for Connectors 5.2 doesn't load in a 5.2 image: (Installer repository: 'http://www.squeaksource.com/Connectors') [^] install: 'CGPrereqs-nk.8'; install: 'FSM-mt.47'; install: 'Connectors-cmm.210'; install: 'ConnectorsText-cmm.17'; install: 'ConnectorsShapes-cmm.33'; install: 'ConnectorsTools-cmm.24'; install: 'ConnectorsGraphLayout-cmm.8'; install: 'BroomMorphs-Base-cmm.4'; install: 'BroomMorphs-Connectors-nk.2'; install: 'ConnectorsDemo-cmm.6'; install: 'ConnectorsBasicDistro-cmm.15' It seems that 'BroomMorphs-Base-cmm.4' is missing from http://www.squeaksource.com/Connectors. [^] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7872 | any | minor | always | 09-25-18 12:41 | 09-25-18 13:27 | Patrickr | normal | new | none | none | open | 0 | PolygonMorph>>intersects: uses a non-existant method | Justus Eilers pointed out to me that PolygonMorph>>intersects: calls #intersectsLineFrom:to: which does not exist anywhere in the image. We looked it up in older images (up to 3.8) and could not find it in these either. The method seems to have never existed. Justus wrote the two attached test cases triggering that issue. |
IntersectsTests.1.cs (1 KB) 01-01-70 00:33 IntersectsImplementation.1.cs (1 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7871 | any | minor | always | 07-17-18 11:13 | 07-17-18 11:15 | edgardec | normal | new | none | none | open | 0 | Bug in FileChooser | Create file aaa(2).gcode, then DoIt: 'FileChooser example1', then open aaa(2).gcode, there is an error: 'aaa.gcode does not exist' | now FileChooser try to open aaa.gcode, the problem is in FileList>>fileNameFromFormattedItem: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7870 | VM | crash | always | 04-10-18 11:55 | 06-13-18 00:49 | timkack | lewis | normal | acknowledged | none | none | 5.0 | open | 0 | GC on save image or manual GC crashes image |
I have a fairly large image (~ 2800 Mb) and suddenly I cannot save the image anymore. If I manually run garbage collection, it seems to trigger the same, markAndTrace, function causing a SIGSEGV. I cannot reproduce with a clean image, unfortunately. See attached crash.dmp. |
Running on macOS 10.12.6 (16G1212, 32 GB memory. | crash.dmp (33 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7847 | OS-Mac | crash | always | 02-21-16 16:50 | 06-12-18 20:02 | comutt | normal | resolved | none | none | 5.0 | fixed | 0 | Cmd+Shift+Cursor crashes Squeak | Squeak always crashes if Cmd+Shift+Cursor has been hit. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7835 | VM | major | always | 09-27-15 16:40 | 04-06-18 22:58 | lewis | lewis | normal | confirmed | none | none | fixed | 0 | vm-sound-NAS needs updates for 64 bit |
This Unix VM sound driver has compile errors on 64-bit host, needs updates to platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c Reported by Ken Dickey on vm-dev http://lists.squeakfoundation.org/pipermail/vm-dev/2015-September/019470.html [^] |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7843 | Graphics | minor | always | 12-08-15 13:18 | 04-06-18 22:38 | TimNN | normal | resolved | none | none | 5.0 | fixed | 0 | MatrixTransform2x3>>isPureTranslation incorrect Fallback implementation | The fallback implementation of MatrixTransform2x3>>isPureTranslation is incorrect. It should compare a21 = 0.0 a22 = 1.0 and not the other way around. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7856 | Any | minor | always | 08-30-16 07:13 | 04-06-18 22:30 | hatsevich | KenCausey | normal | resolved | none | none | fixed | 0 | Small bugs in Preference Wizard |
1) "Fast drag and resize": it is unchecked while behaves like it is checked, and vice versa 2) "Filterable lists and trees" - annotation is mistakenly taken from the following option ("Filters clear if unfocused") |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7854 | Any | minor | always | 08-09-16 07:49 | 04-06-18 21:47 | drattpresse | KenCausey | normal | resolved | none | none | 5.0 | fixed | 0 | Typos |
Preference Browser -> Files category: It true, then the contents of stdin -> s/^It/If Preference Browser -> Morphic category: Menu request updates list/tree selection When invoking a menu, this will for current selection by default. -> will - what? a word's missing? Font import, confirmation dialog: This is at least x MB of space required int the image. -> s/ int / in / |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7864 | Multilingual | minor | always | 11-14-16 09:59 | 04-06-18 20:36 | sumi | normal | feedback | none | none | trunk | open | 0 | [BUG][FIX] some methods required for the Japanese locale to function properly is missing | JapaneseEnvironment class lacks some method to work. This change-set supplements what is missing and also fixing some bugs. |
fixJapaneseLocale-sumim.1.cs.gz (1 KB) 01-01-70 00:33 fixJapaneseLocale-sumim.2.cs.gz (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7859 | Any | minor | always | 09-11-16 09:18 | 04-06-18 19:54 | dram | KenCausey | normal | resolved | none | none | trunk | fixed | 0 | MNU: UndefinedObject>>do: |
Click "objects (o)" in World menu will trigger a "MNU: UndefinedObject>>do:" error. It is found in Squeak6.0alpha #16713. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7858 | Any | minor | always | 09-11-16 08:27 | 04-06-18 19:41 | dram | KenCausey | normal | resolved | none | none | trunk | fixed | 0 | MNU: Preferences class>>roundedWindowCorners |
When open the halo menu for a window, click the debug icon, and then click "viewer for Morph", a "MNU: Preferencecs class>>roundedWindowCorners" error is triggerd. It's found in Squeak6.0alpha #16713. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7868 | MVC | minor | always | 12-10-17 16:08 | 04-06-18 15:41 | jr | normal | confirmed | none | none | trunk | open | 0 | ChangeSet menu in ChangeSorter will not open in MVC project |
The context menu for change sets will not open in an MVC project because the method #monticelloChangeSetMenu: is registered via pragma as a menu handler and it assumes to run in a Morphic project. I think it should be dispatched with the current project instead or at least be guarded. I would post the full stack trace, but I cannot find how to copy the trace from a debugger in MVC... MessageNotUnderstood: CustomMenu>>submorphs ChangeSorter>>monticelloChangeSetMenu: ... ChangeSorter(Model)>>buildMenu:withBuilders:shifted: ChangeSorter(Model)>>menu:for:shifted: ChangeSorter(Model)>>changeSetMenu:shifted: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7866 | OS-Linux | crash | always | 04-25-17 10:54 | 04-06-18 11:58 | 007 | normal | feedback | none | none | 5.0 | open | 0 | crash during object initialization |
Calling Object>>error: during object initialization and together having two instance variable defined (var2 Size) - results to crash "|tst| tst:=TestCrash new: 1." When removing instance variable "var2" and than call "TestCrash(Object)>>error:" inside "TestCrash>>init:" by standard object initialization, it pass correct with standard error message "testerror". Object thats result to crash is in attached file TestCrash.st Crashes on Linux in versions Squeak-5.0-All-in-One.zip, Squeak5.1-16548-32bit-All-in-One.zip, Squeak5.1-16549-32bit-All-in-One.zip Working correct on Squeak-4.6-All-in-One.zip |
avid@localhost ~/TestCrash $ ./squeak.sh Using /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/squeak... Segmentation fault Tue Apr 25 12:25:46 2017 /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/lib/squeak/5.0-201608171728/squeak Squeak VM version: 5.0-201608171728 Wed Aug 17 18:36:04 UTC 2016 gcc 4.6.3 [Production Spur VM] Built from: CoInterpreter VMMaker.oscog-cb.1919 uuid: 00a8dd2a-bc8d-4552-b400-be781c8aabec Aug 17 2016 With: StackToRegisterMappingCogit VMMaker.oscog-cb.1919 uuid: 00a8dd2a-bc8d-4552-b400-be781c8aabec Aug 17 2016 Revision: VM: 201608171728 https://github.com/OpenSmalltalk/opensmalltalk-vm.git [^] $ Date: Wed Aug 17 10:28:01 2016 -0700 $ Plugins: 201608171728 https://github.com/OpenSmalltalk/opensmalltalk-vm.git [^] $ Build host: Linux testing-worker-linux-docker-7e600486-3433-linux-13 3.13.0-40-generic 0000069-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux plugin path: /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728 [default: /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/lib/squeak/5.0-201608171728/] C stack backtrace & registers: eax 0xbf832e64 ebx 0xbf832d80 ecx 0xbf832e18 edx 0xbf832dcc edi 0xbf832c50 esi 0xbf832c50 ebp 0xbf832ce8 esp 0xbf832d34 eip 0xbf832f48 *[0xbf832f48] /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728/squeak[0x8060240] /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728/squeak[0x80605a6] linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xb77a6b98] /home/david/TestCrash/Squeak5.1-16549-32bit-All-in-One.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201608171728/squeak(ceSendsupertonumArgs+0x118)[0x80937a8] [0xa10008d] [0xa1b86aa] [0xa1b905e] [0xa100b70] [0xa1a6af7] [0xa101de5] [0xa144016] [0xa100b70] [0xb37bb3e] [0xba71f09] [0xb6b571a] [0xa100b40] [0x1b6] Smalltalk stack dump: 0xbf83bd38 M [] in TestCrash(Object)>longPrintOn:limitedTo:indent: 0xa514340: a(n) TestCrash 0xbf83bd60 M Array(SequenceableCollection)>withIndexDo: 0xa52f028: a(n) Array 0xbf83bd7c M Array(SequenceableCollection)>doWithIndex: 0xa52f028: a(n) Array 0xbf83bda0 I TestCrash(Object)>longPrintOn:limitedTo:indent: 0xa514340: a(n) TestCrash 0xbf83bdc8 M [] in MethodContext>printDetails: 0xa5145d0: a(n) MethodContext 0xbf83bde4 M BlockClosure>on:do: 0xa52ef58: a(n) BlockClosure 0xbf83be04 M BlockClosure>ifError: 0xa52ef58: a(n) BlockClosure 0xbf83be34 I MethodContext>printDetails: 0xa5145d0: a(n) MethodContext 0xbf83be64 I MethodContext(ContextPart)>errorReportOn: 0xa5145d0: a(n) MethodContext 0xbf83be8c I SmalltalkImage>logError:inContext:to: 0xabfcc50: a(n) SmalltalkImage 0xbf83beb8 I SmalltalkImage>logSqueakError:inContext: 0xabfcc50: a(n) SmalltalkImage 0xbf83eb74 M [] in Debugger class>morphicOpenOn:context:label:contents:fullView: 0xadb88d8: a(n) Debugger class 0xbf83eb90 M BlockClosure>on:do: 0xa514cd0: a(n) BlockClosure 0xbf83ebb8 M Debugger class>morphicOpenOn:context:label:contents:fullView: 0xadb88d8: a(n) Debugger class 0xbf83ebf0 I MorphicProject(Project)>dispatchTo:addPrefixAndSend:withArguments: 0xb88a268: a(n) MorphicProject 0xbf83ec1c I Debugger class>openOn:context:label:contents:fullView: 0xadb88d8: a(n) Debugger class 0xbf83ec50 I StandardToolSet class>debug:context:label:contents:fullView: 0xabd4200: a(n) StandardToolSet class 0xbf83ec84 I ToolSet class>debug:context:label:contents:fullView: 0xabcf7f8: a(n) ToolSet class 0xbf83ecbc I Process>debug:title:full: 0xaaddd98: a(n) Process 0xbf83ece8 I Process>debug:title: 0xaaddd98: a(n) Process 0xbf83ed10 I StandardToolSet class>debugError: 0xabd4200: a(n) StandardToolSet class 0xbf83ed38 I ToolSet class>debugError: 0xabcf7f8: a(n) ToolSet class 0xbf83ed5c I UnhandledError>defaultAction 0xa514490: a(n) UnhandledError 0xbf83ed78 M UndefinedObject>handleSignal: 0xa875b00: a(n) UndefinedObject 0xbf83ed9c M MethodContext(ContextPart)>handleSignal: 0xa514430: a(n) MethodContext 0xbf83edc0 I UnhandledError(Exception)>signal 0xa514490: a(n) UnhandledError 0xbf83ede0 I UnhandledError class>signalForException: 0xabd0950: a(n) UnhandledError class 0xbf83ee04 I Error>defaultAction 0xa514350: a(n) Error 0xbf83ee28 I UndefinedObject>handleSignal: 0xa875b00: a(n) UndefinedObject 0xbf83ee54 I MethodContext(ContextPart)>handleSignal: 0xa514430: a(n) MethodContext 0xbf83ee78 I Error(Exception)>signal 0xa514350: a(n) Error 0xbf83ee98 I Error(Exception)>signal: 0xa514350: a(n) Error 0xbf83eebc I TestCrash(Object)>error: 0xa514340: a(n) TestCrash 0xbf83dc88 I TestCrash>init: 0xa514340: a(n) TestCrash 0xbf83dcac I TestCrash class>new: 0xa2096d8: a(n) TestCrash class 0xbf83dccc M UndefinedObject>(nil) 0xa875b00: a(n) UndefinedObject 0xbf83dcf8 I Compiler>evaluateCue:ifFail: 0xa48cc30: a(n) Compiler 0xbf83dd24 I Compiler>evaluateCue:ifFail:logged: 0xa48cc30: a(n) Compiler 0xbf83dd54 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xa48cc30: a(n) Compiler 0xbf83dd8c M [] in SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0xa20a3d0: a(n) SmalltalkEditor 0xbf83dda8 M BlockClosure>on:do: 0xa48cbf8: a(n) BlockClosure 0xbf83dddc I SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0xa20a3d0: a(n) SmalltalkEditor 0xbf83de00 I SmalltalkEditor(TextEditor)>evaluateSelection 0xa20a3d0: a(n) SmalltalkEditor 0xbf83de18 M [] in PluggableTextMorphPlus(PluggableTextMorph)>doIt 0xa2092d0: a(n) PluggableTextMorphPlus 0xbf83de3c I TextMorphForEditView(TextMorph)>handleEdit: 0xa209238: a(n) TextMorphForEditView 0xbf83de64 I PluggableTextMorphPlus(PluggableTextMorph)>handleEdit: 0xa2092d0: a(n) PluggableTextMorphPlus 0xbf83de80 M PluggableTextMorphPlus(PluggableTextMorph)>doIt 0xa2092d0: a(n) PluggableTextMorphPlus 0xbf83de98 M Workspace(StringHolder)>perform:orSendTo: 0xa208ff8: a(n) Workspace 0xbf83dec0 M [] in MenuItemMorph>invokeWithEvent: 0xa233848: a(n) MenuItemMorph 0xbf839b5c M BlockClosure>ensure: 0xa48ae30: a(n) BlockClosure 0xbf839b7c M CursorWithMask(Cursor)>showWhile: 0xab671e8: a(n) CursorWithMask 0xbf839b9c M MenuItemMorph>invokeWithEvent: 0xa233848: a(n) MenuItemMorph 0xbf839bc0 I MenuItemMorph>mouseUp: 0xa233848: a(n) MenuItemMorph 0xbf839be4 I MenuItemMorph>handleMouseUp: 0xa233848: a(n) MenuItemMorph 0xbf839c00 M MouseButtonEvent>sentTo: 0xa481310: a(n) MouseButtonEvent 0xbf839c20 M MenuItemMorph(Morph)>handleEvent: 0xa233848: a(n) MenuItemMorph 0xbf839c44 M MorphicEventDispatcher>dispatchEvent:withHandler:withMorph: 0xa480840: a(n) MorphicEventDispatcher 0xbf839c68 M MorphicEventDispatcher>dispatchDefault:with: 0xa480840: a(n) MorphicEventDispatcher 0xbf839c88 M MorphicEventDispatcher>dispatchEvent:with: 0xa480840: a(n) MorphicEventDispatcher 0xbf839cac M MenuItemMorph(Morph)>processEvent:using: 0xa233848: a(n) MenuItemMorph 0xbf839cd8 M [] in MorphicEventDispatcher>dispatchEvent:toSubmorphsOf: 0xa480840: a(n) MorphicEventDispatcher 0xbf839cfc M Array(SequenceableCollection)>do: 0xa209ba8: a(n) Array 0xbf839d18 M MenuMorph(Morph)>submorphsDo: 0xa204948: a(n) MenuMorph 0xbf839d38 M MorphicEventDispatcher>dispatchEvent:toSubmorphsOf: 0xa480840: a(n) MorphicEventDispatcher 0xbf839d60 M MorphicEventDispatcher>dispatchEvent:withHandler:withMorph: 0xa480840: a(n) MorphicEventDispatcher 0xbf839d84 M MorphicEventDispatcher>dispatchDefault:with: 0xa480840: a(n) MorphicEventDispatcher 0xbf839da4 M MorphicEventDispatcher>dispatchEvent:with: 0xa480840: a(n) MorphicEventDispatcher 0xbf839dc8 M MenuMorph(Morph)>processEvent:using: 0xa204948: a(n) MenuMorph 0xbf839df0 M MorphicEventDispatcher>doProcessingForFocusEvent:with: 0xa480840: a(n) MorphicEventDispatcher 0xbf839e14 M MorphicEventDispatcher>dispatchFocusEventFully:with: 0xa480840: a(n) MorphicEventDispatcher 0xbf839e34 M MenuMorph>processFocusEvent:using: 0xa204948: a(n) MenuMorph 0xbf839e54 M MenuMorph(Morph)>processFocusEvent: 0xa204948: a(n) MenuMorph 0xbf839e7c M [] in HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph 0xbf839e9c M BlockClosure>ensure: 0xa4807a8: a(n) BlockClosure 0xbf839ebc M MouseButtonEvent(MorphicEvent)>becomeActiveDuring: 0xa4803e0: a(n) MouseButtonEvent 0xbf83ac8c M [] in HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph 0xbf83acac M BlockClosure>ensure: 0xa4806b0: a(n) BlockClosure 0xbf83accc M HandMorph>becomeActiveDuring: 0xb9ebe68: a(n) HandMorph 0xbf83acf4 M [] in HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph 0xbf83ad14 M BlockClosure>ensure: 0xa4805b8: a(n) BlockClosure 0xbf83ad34 M PasteUpMorph>becomeActiveDuring: 0xacf8780: a(n) PasteUpMorph 0xbf83ad58 M HandMorph>sendFocusEvent:to:clear: 0xb9ebe68: a(n) HandMorph 0xbf83ad84 M HandMorph>sendEvent:focus:clear: 0xb9ebe68: a(n) HandMorph 0xbf83ada8 M HandMorph>sendMouseEvent: 0xb9ebe68: a(n) HandMorph 0xbf83adc8 M HandMorph>handleEvent: 0xb9ebe68: a(n) HandMorph 0xbf83adf4 M HandMorph>processEvents 0xb9ebe68: a(n) HandMorph 0xbf83ae10 M [] in WorldState>doOneCycleNowFor: 0xb73ba70: a(n) WorldState 0xbf83ae34 M Array(SequenceableCollection)>do: 0xa88fa10: a(n) Array 0xbf83ae50 M WorldState>handsDo: 0xb73ba70: a(n) WorldState 0xbf83ae70 M WorldState>doOneCycleNowFor: 0xb73ba70: a(n) WorldState 0xbf83ae8c M WorldState>doOneCycleFor: 0xb73ba70: a(n) WorldState 0xbf83aea8 M PasteUpMorph>doOneCycle 0xacf8780: a(n) PasteUpMorph 0xbf83aec0 M [] in MorphicProject>spawnNewProcess 0xb88a268: a(n) MorphicProject 0xac86208 s [] in BlockClosure>newProcess Most recent primitives stringHash:initialHash: compare:with:collated: basicNew identityHash basicNew basicNew shallowCopy shallowCopy shallowCopy stringHash:initialHash: shallowCopy basicNew stringHash:initialHash: initialize initialize initialize < < digitCompare: < < arrayType arrayType stringHash:initialHash: arrayType arrayType stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: arrayType stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: arrayType basicNew identityHash asArray replaceFrom:to:with:startingAt: basicNew basicNew basicNew new at: **StackOverflow** identityHash value scanFor: shallowCopy noteBlockExit: basicNew identityHash identityHash identityHash identityHash asArray at: litIndex: perform:withArguments: genSend:numArgs: genSend:numArgs: genSend:numArgs: perform:withArguments: specialObjectsArray genSendSpecial:numArgs: <= specialObjectsArray perform:withArguments: genPushLiteralVar: species species species ~~ perform:withArguments: perform:withArguments: genReturnTop genReturnTop genReturnTop , , , , replaceFrom:to:with:startingAt: bitShift: bitOr: bitOr: bitOr: bitOr: bitOr: basicNew species identityHash identityHash at: contents replaceFrom:to:with:startingAt: contents headerFlagForEncoder: headerFlagForEncoder: headerFlagForEncoder: headerFlagForEncoder: headerFlagForEncoder: headerFlagForEncoder: asString asString copyReplaceFrom:to:with: copyReplaceFrom:to:with: copyReplaceFrom:to:with: copyReplaceFrom:to:with: copyReplaceFrom:to:with: stringHash:initialHash: stringHash:initialHash: compare:with:collated: perform: = basicNew: at:put: newMethod:header: newMethod:header: at:put: newMethod:header: objectAt:put: objectAt:put: objectAt:put: objectAt:put: basicNew on: size position: basicNew numTemps emitCodeForValue:encoder: at:put: methodStreamPosition specialObjectsArray genSendSpecial:numArgs: specialObjectsArray at:put: ~~ at:put: pop: at:put: at:put: = ~= ~= size size size size objectAt: bitAnd: bitAnd: primitive primitive primitive basicSize basicSize objectAt:put: value: value:value: new: at: value:value: replaceFrom:to:with:startingAt: contents contents value last \\ \\ collect: value: first at:put: withIndexDo: withIndexDo: withIndexDo: timesRepeat: at:put: value: tempAt: tempAt: tempAt: at: = at: = at: = at: = at: = at: = at: = at: = at: = replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: findFirstInString:inSet:startingAt: nextPutAll: primWrite:from:startingAt:count: asInteger primWrite:from:startingAt:count: tab primWrite:from:startingAt:count: findFirstInString:inSet:startingAt: primWrite:from:startingAt:count: primWrite:from:startingAt:count: primGetPosition: shallowCopy replaceFrom:to:with:startingAt: value:value: primWrite:from:startingAt:count: primWrite:from:startingAt:count: findFirstInString:inSet:startingAt: primWrite:from:startingAt:count: primWrite:from:startingAt:count: nextPut: primWrite:from:startingAt:count: primWrite:from:startingAt:count: instVarAt: instVarAt: instVarAt: stack page bytes 4096 available headroom 2788 minimum unused headroom 3012 (Segmentation fault) Neúspěšně ukončen (SIGABRT) |
TestCrash.st (1 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7863 | Morphic | minor | always | 11-14-16 09:35 | 04-06-18 10:22 | sumi | normal | resolved | none | none | trunk | fixed | 0 | [BUG][FIX] can't undo paste initials (alt/cmd + shift + v) | t/o | fixPasteInitialsUndo-sumim.1.cs.gz (0 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7861 | MVC | major | always | 09-25-16 09:04 | 04-06-18 10:01 | davidf | normal | resolved | none | none | trunk | fixed | 0 | Can't debug |
In an MVC project when pressing 'debug', we get the error MessageNotUnderstood: UndefinedObject>>windowColorToUse The error is caused by the method setDefaultBackgroundColor attempting to send the message windowColorToUse to a nil model. I have changed the implementation of View>>setDefaultBackgroundColor to model == nil ifFalse:[self model windowColorToUse]. And this seems to fix the problem, as I now get the debugger window and everything appears to work as it should. How to reproduce: Open a new MVC project, open a workspace and do 2/0. When the notifier comes up select 'debug'. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7775 | OS-Linux | major | always | 06-25-13 18:05 | 10-20-17 22:21 | tim | high | new | none | none | 4.4 | open | 0 | unix midiplugin cannot play standard instruments via ALSA midi connection |
The MIDI plugin is expected to be able to play sounds using the standard MIDI instrument list; on unix with ALSA sound drivers (i.e. on the Raspberry Pi in this case) this seems not to work. Apparently this has been a problem for some time since the Scratch code using it has been commented out since 2009. The result is that a lot of sounds are very sub-par for the users of Scratch on any unix platform and of course the Pi. This is a pity, since it gives a very poor impression. |
After gazing at the unix midi code I had to conclude that it didn't look like it could work at all, but what do I know? At the simplest level, querying the number of ports seems to give an answer that classes with related functions that get passed a port number. Compare, for example, sqMIDIGetPortCount and sqMIDIGetPortDirectionality | sqUnixMIDIALSA.inc (18 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7867 | Installer | crash | always | 09-25-17 19:52 | 09-25-17 19:52 | paul | normal | new | none | none | trunk | open | 0 | Unable to start from directory named with spacing |
Running squeak.sh by double-click from Nemo (file browser) of LinuxMint opens Error dialog: This Squeak version does not support Linux-. The terminal shows the error message: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. Answering the error dialog opens an image file selection dialog. The image can't be launched by selection either (this is a deeper bug). If however squeak is launched typing "./squeak.sh" from a terminal then the image can start fine. Note that I've already applied the upgraded priority fix that also gives the GtkDialog error, this is a different cause. If the squeak directory is moved back to /home/user/Downloads then the launch icon works fine again. The significant difference is spacing found in the directory name. |
If this is a squeak bug then it is in the VM. Searches find that others have also been struggling with the GtkDialog error for years with other applications and may not know this simple cause. My drive partition was called "256 GB SSD" and mounted as "/media/user/256 GB SSD/". The problems went away entirely by naming the partition without spacing. I've also confirmed that simply having a parent directory containing a space in the name will cause the problem and that a soft link to a name without spacing can be used as a workaround. The script file squeak.sh does not appear to have the bug, it is at a deeper level like perhaps a framework used by the VM or perhaps how the VM uses that framework. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
4665 | major | always | 08-30-06 07:08 | 09-01-17 05:45 | ernst | krono | normal | resolved | none | none | fixed | 0 | PositionableStream>>upToAll: does return string including part of delimiter |
I have an bug with parsing HTML while using upToAll: . e.g. On a MultiByteFileStream upToAll: '<' gives ' VÃ?RONIQUE </' which makes no sense. |
I did this on Linux fedora core 5 64-bit, Squeak 3.8 |
UpToAllTest.st (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7865 | Any | crash | always | 04-05-17 11:58 | 04-05-17 11:58 | pavelmalyshkin | KenCausey | normal | assigned | none | none | trunk | open | 0 | Save project crushes Squeak |
In a fresh 5.1(32 bit) all in one: Projects --> save project Fill in the dialog, save on local disk only --> "Please choose" dialog appears. Any further way leads to a crush or an environment emergency. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7862 | Morphic | minor | always | 11-13-16 07:44 | 11-13-16 07:44 | sumi | normal | new | none | none | trunk | open | 0 | [BUG][FIX] #querySymbol: (cmd/alt + q) doesn't put caret on the first argument place |
Considering the use case of "query" feature (code completion invoked by cmd/alt + q), when a selector with multiple keywords is a candidate, the caret should be placed in the first argument insertion part (the first colon-space). https://www.youtube.com/watch?v=jYOEZVnF9eI [^] For similar reason, I also tweak the "advance" feature (shift + cmd/alt + a) by which the caret is moved to the next occurrence of the characters colon-space (it is imperceptibly changed to move the caret just after colon but not after colon-space). |
fixQuerySymAndArgAdv-sumim.1.cs.gz (1 KB) 01-01-70 00:33 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7838 | System | crash | always | 11-09-15 21:20 | 10-16-16 06:38 | kurbasov | bp | normal | feedback | none | none | 5.0 | open | 0 | Command "explore it" applied to Object leads to crash of VM. |
Issuing "explore it" for Object from workspace menu leads to crash of VM. The same thing occurs when evaluating "Object explore" expression by "do it". Fresh images of Squeak versions 4.6 and 5.0. OS Windows 8.1 64-bit. It looks like the infinite recursion occurs. UI freezes and memory consumption constantly grows up to 3867.7 MB(!) until VM crash. Then the message displayed: Fatal VM error Sorry but VM has crashed Reason: out of memory Current byte code: -1 Primitive index: -1 The crash dump process can't complete and VM stops responding to the system. The size of the incomplete dump file is large (about 14 MB) thus I can't attach it. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7860 | text | always | 09-13-16 19:32 | 09-13-16 19:32 | timkack | normal | new | none | none | open | 0 | Remove the mention about WbSet, WbDictionary from wiki |
On http://wiki.squeak.org/squeak/2985, [^] there is the following text: ===================================================== Use WbArray's, WbOrderedCollections, WbSet's and WbDictionary's For the new Closures, the Array class cannot be made uncompact, which means they cannot use #primitiveChangeClassTo:, which means it cannot be added to the WriteBarrier, which means they end up in Magma's readSet, which means commits will be slower. WbArray is just a subclass of Array which _can_ be compacted. WbOrderedCollection is just an OrderedCollection that uses an internal WbArray instead of an internal Array. Likewise for Dictionary and Set. Therefore, using these WriteBarrier-capable versions will improve performance. ===================================================== This was removed as of WriteBarrier-cmm.47.mcz |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7857 | Tools | minor | always | 09-01-16 17:41 | 09-01-16 17:41 | timkack | normal | new | none | none | open | 0 | Remove instructions for OmniBrowser |
Installing Omnibrowser does not work on Squeak 5.0/5.1 The following snippet should be removed from Help -> Extending the System: <code smalltalk> "Including Refactoring engine" (Installer ss project: 'MetacelloRepository') install: 'ConfigurationOfOmniBrowser'. ((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ). </code> It should probably be replaced with the instructions on how to add the Refactoring tools: <code smalltalk> Installer gemsource project: 'metacello'; addPackage: 'ConfigurationOfMetacello'; install. ((Smalltalk at: #ConfigurationOfMetacello) project version: #'previewBootstrap') load. Installer squeakTrunk install: 'SqueakSSL-Core'. (Smalltalk at: #Metacello) new configuration: 'MetacelloPreview'; version: #stable; repository: 'github://dalehenrich/metacello-work:configuration'; [^] load. (Smalltalk at: #Metacello) new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; [^] get. (Smalltalk at: #Metacello) new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; [^] onConflict: [:ex | ex allow]; load. Preferences removePreferencesFor: MCGitBasedNetworkRepository. (Smalltalk at: #Metacello) new configuration: 'RefactoringTools'; version: #stable; load. </code> |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7855 | minor | always | 08-25-16 07:53 | 08-25-16 07:53 | timkack | normal | new | none | none | open | 0 | Bug tracker needs to be updated |
This is not regarding www.squeak.org but rather mantis, bugs.squeak.org. Should probable be a project of its own on Mantis... I am a big fan of keeping bugs in the bug tracker but I see that Squeak 5.0 and 5.1 does not exist for "Product Build:” and "Product Version:”. Would it be possible to add these? |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7853 | Any | major | always | 07-22-16 22:22 | 07-28-16 10:25 | TimNN | KenCausey | normal | assigned | none | none | trunk | open | 0 | Files-cmm.159 causes a regression (since #/ returns object of a different class) |
The following works without issues before `Files-cmm.159`: ```smalltalk ((FileDirectory on: '/')) ((FileDirectory on: '/') / 'tmp') ((FileDirectory on: '/') / 'tmp') pathName ``` Printing each line gives: ``` UnixFileDirectory on '/' UnixFileDirectory on '/tmp' '/tmp' ``` Since `Files-cmm.159` the last line fails, the output is then (with the last line being a signaled error): ``` UnixFileDirectory on '/' a DirectoryEntryDirectory tmp MessageNotUnderstood: DirectoryEntryDirectory>>pathName ``` |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7767 | Traits | minor | always | 06-04-13 13:43 | 07-03-16 04:29 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | - does not respect brackets | In the composition (S + T) - m, where m is a set of excluded selectors, m is not removed from the TraitComposition (S + T), but only from T. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7716 | VM | minor | always | 01-12-13 01:00 | 06-08-16 00:17 | lewis | lewis | normal | resolved | none | none | fixed | 0 | Harvest HostWindowPlugin enhancements from Qwaq/Teleplace (now 3d ICC) |
As noted by Eliot Miranda: An additional piece of history is that a number of plugins, including the HostWindowPlugin, were enhanced at Qwaq/Teleplace (now 3d ICC), in a cross-platform manner since we supported Mac and Windows initially and later had a linux prototype. The code for some of these enhanced plugins, including the HostWindowPlugin, was released along with Cog, which has an MIT license. So if you mine the COg branch you'll find code that can be folded back into trunk you'll get the enhanced functionality. For the Qwaq/Teleplace HostWindowPlugin that included setting the window title, repositioning and resizing the main window, querying its size, etc. |
Discussed here: http://lists.squeakfoundation.org/pipermail/vm-dev/2013-January/011799.html [^] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7849 | Files | major | always | 03-22-16 02:02 | 03-22-16 02:02 | anonymous90 | normal | new | none | none | 5.0 | open | 0 | FileDirectory issues with relative UNIX paths in Squeak 5.0 |
If you evaluate this in Squeak 5.0 on UNIX: (FileStream forceNewFileNamed: 'foo.txt') close. FileDirectory default directoryEntryFor: './foo.txt' you get nil. change the './foo.txt' to 'foo.txt', and it works as expected. A similar error occurs when creating FileDirectories: FileDirectory forFileName: './foo.txt' gives a FileDirectory for the root "/" directory. but replace './foo.txt' with 'foo.txt', and it works. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7848 | Tools | minor | always | 03-20-16 22:49 | 03-20-16 23:01 | mva | normal | new | none | none | 5.0 | open | 0 | In FileList, trying to drag a file that is not previously selected triggers 'Error: subscript is out of bounds: 0' |
In FileList, trying to drag a file that is not previously selected triggers 'Error: subscript is out of bounds: 0'. Steps to reproduce: Open FileList by clicking Tools, FileList. Select a directory by clicking on the directory name in the directory tree on the left. In the file list on the right, start dragging a file. You only need to drag it a few pixels and then release the mouse button. You will get the following error 'Error: subscript is out of bounds: 0'. |
FileListDragFile-M7848-mva.1.cs.gz (0 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7846 | Tools | major | always | 01-29-16 23:26 | 01-29-16 23:26 | Nicolai Hess | normal | new | none | none | 5.0 | open | 0 | ProcessBrowser wrong syntax highlight and syntax debugger error |
Open ProcessBrowser select a process select a context of this process the code pane shows the code of this context but the syntax highlighting is wrong. Most code is black with some red words. And if you select process "the timer interrupt watcher" and the context of Delay class >> runtTimerLoop a syntax error debugger opens with the following message "tamp: Argument name expected ->'mt 5/14/2015 18:08' prior: 55090637" |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7826 | Documentation | trivial | always | 03-17-15 20:25 | 01-23-16 17:15 | faried | casey | normal | assigned | none | none | trunk | open | 0 | incorrect instructions for setting up OCompletion in 4.5 | "Extending the system" under "Help" has incorrect instructions for installing OCompletion. |
The right ones, based on http://rotatef.blogspot.com/2013/02/ocompletion-and-squeak-44.html, [^] are (Installer ss project: 'OCompletion') install: 'Ocompletion'. (Installer ss project: 'MetacelloRepository') install: 'ConfigurationOfOCompletion'. " this might work as well: ... project version: #stable) load." ((Smalltalk at: #ConfigurationOfOCompletion) project version: '1.4.2') load. (Smalltalk at: #ECToolSet) register. (Smalltalk at: #ToolSet) default: (Smalltalk at: #ECToolSet). |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
5228 | VM | major | always | 10-12-06 18:06 | 12-11-15 03:50 | Ron | lewis | normal | resolved | none | none | 3.9 | fixed | 0 | Include Cryptographic Primitives in Base VM - DESPlugin |
Hans-Martin did some testing and as we expected the performance of pure squeak cryptography is disapointing: Hans-Martin wrote: "Ok, I did some measurements. Results are pretty disappointing. Squeak on my AMD 3800+ processor encrypts 32 KBytes using 3DES CBC mode in about 8 seconds - unusable for anything but a proof-of-concept. Therefore I think that DES (and maybe some other small cryptographic primitives) should be part of the base VM." The DESPlugin is already a part of the VMMaker, I am asking the VM group to please include the DESPlugin in the base VM that is distrubuted. We will be submitting more code and will follow the process of code -> VMMaker -> VM. If the VM team wants to wait before building a new VM's until other primitives are available, that is fine, but if a build is going to be done anyway for other issues, please include the DESPlugin. Thank you for your help! Ron Teitelbaum Cryptography Team Leader |
DESPlugin.st (18 KB) 01-01-70 00:33 RobDESPlugin.st (18 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7844 | Morphic | minor | always | 12-08-15 23:31 | 12-08-15 23:32 | Nicolai Hess | normal | new | none | none | open | 0 | strange rounded scrollbar look |
If you enable roundedScrollBarLook, the scrollbars look really strange (see screenshot) |
squeak_roundedscrollbarlook.png (15 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
1436 | System | minor | always | 07-08-05 18:47 | 12-07-15 13:27 | noury | normal | new | none | none | windows | windows | 3.8 | open | 0 | [BUG] FileDirectory root |
Hi, I'm working on Windows XP. When I ask for the root file directory (FileDirectory root) I get an empty directory (FileDirectory on: ' ') which refer to the image directory. It works well for creating subdirectories " FileDirectory root createDirectory: 'MyDir'. "However, when I try to retreive the created subDir " FileDirectory root directoryNamed: 'MyDir' "BTW " FileDirectory root createDirectory: 'MyDir'. "Answers the parent dir (FileDirectory root) instead of the created dir (MyDir) as I first expected ... It seems strange to me..." |
Doesn't seem to be an issue on mac osx/unix. Is it still troublesome in windows? |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7842 | FFI | minor | always | 12-01-15 21:09 | 12-01-15 21:09 | Nicolai Hess | normal | new | none | none | 4.5 | open | 0 | FFI examples on Linux /Unix examples don't work |
X11Display coloredRectangles raises an error « coud not coerce arguments posted on the mailing list and we have a bug entry in pharos bug tracker. My analysis: I replaced all X11Drawable arguments in the ffi call signature to ulong and replace the call ... drawable ... with ... drawable xid ... But I am confused because the latest update for the examples had the comment "made the XLib examlpes actually work". So maybe my usage or version of FFI is wrong. |
see discussion http://forum.world.st/FFI-examples-on-Linux-don-t-work-tp4779450.html [^] and http://forum.world.st/Maintainer-of-FFI-Package-tp4781016.html [^] attached the change set I made to make the examples working again. But I don't know |
fix_ffi_unix_examples.1.cs (6 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7814 | Any | major | always | 03-30-14 11:36 | 11-21-15 22:03 | Herbert Koenig | lewis | normal | acknowledged | none | none | open | 0 | Can't save morphic projects from 4.5 to local disk only |
In a fresh 4.5 all in one: Projects --> new morphic project In that Project: Projects --> save project Fill in the dialog, save on local disk only --> MNU "ScrapBook>>emptyScraps book" |
Fails with empty project and with some Morphs in the project |
MessageNotUnderstood# ScrapBook##emptyScrapsBook.png (28 KB) 01-01-70 00:33 NotImplemented# ClassBinding or a superclass should implement objectForDataStream#.gif (20 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7770 | Compiler | minor | always | 06-19-13 09:49 | 11-20-15 11:13 | vaidasd | normal | new | none | none | 4.4 | open | 0 | cascading does not work with super |
Compiler refuses to compile super initialize; setListProperties |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7774 | Installer | major | always | 06-25-13 08:04 | 11-20-15 11:04 | heikos | Keith_Hodges | normal | assigned | none | none | open | 0 | Description for the Usage on Windows (All in One Package) definetely not correct |
Dear team, it was said, that you can start different Image-Files as it is the use for Smalltalk-Systems. You have to Right-Click on the image file and search in the settings for the virtual machine. Has it been tested on Windows XP? I don't believe. That does not function! Everytime Squeak comes up with a message error, calling *no content to install*. I am an administrator which has to bring up a Windows XP desktop for a school (although preferring Linux!). On Linux there are no probs with Squeak. But on Windows the description on the website is definetely not correct IMHO (has it been *really* tested?); the configuration file shows version 4.3 as the windows title. That is not a prob, but I assume that some tests have not been done. |
Squeak is not a great, but a *very* great thing. But I do not believe that these unnecessary problems support acceptance. Greetings Heiko Schroeder |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7839 | OS-Win32 | minor | always | 11-12-15 12:07 | 11-18-15 20:40 | sumi | normal | new | none | none | 5.0 | open | 0 | destroy then install shared flaps causes an error on Win VM |
flaps... -> destroy all shared flaps -> install default shared flaps operation could not be completed because of an error on Windows VM. (on Mac OS X, it could be completed without problem.) It seems malfunction of the #become: in UnscriptedPlayer >> #assureUniClass on Win VM. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7768 | Morphic | minor | always | 06-13-13 19:55 | 11-18-15 15:28 | FrankShearar | normal | new | none | none | trunk | open | 0 | Filters sometimes don't stop filtering |
* open a Browser * in the System Category pane, type "net" * alt-f to find Browser (which is in a Tools package) * Note how Browser's being browsed, but the System Category pane still shows only those packages matching "net". It should show all the system categories, and have the selected class' category selected. I think this is because the PluggableListMorphPlus isn't told to #removeFilter. Ah, but it is! So the list looks like it's unfiltered - no pink - but the items in the list only contain the short, filtered list of items. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7796 | text | always | 11-24-13 15:51 | 11-18-15 14:36 | Nicolai Hess | normal | new | none | none | open | 0 | current release at www.squeak.org 4.3 or 4.4? |
Two links at www.squeak.org/Download link to http://ftp.squeak.org/4.3/Squeak-4.3-All-in-One.zip [^] 1. (At top) Fastest way to start is *Squeak All-in-One* distribution ... 2. Image file This is the official Squeak release. *Squeak Release* but the one link on the right side mentions Version 4.4 and links to this version. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5506 | Morphic | minor | always | 11-24-06 20:10 | 11-17-15 13:11 | sumi | lewis | normal | resolved | none | none | 3.9 | fixed | 0 | [BUG][FIX] find again (alt + g) doesn't work properly after replace again (alt + j) shortcut |
After "alt + f" or "alt + h" (set find string), "alt + g" (find again) works fine. After "alt + f" or "alt + h" then type something (replace string), "alt + g" works fine, too. But, after "alt + f" or "alt + h" then type something then "alt + j" (replace again), "alt + g" doesn't work properly but seems working as "replace again". The attached changeset file fixes the problem. |
ParagraphEditor-findAgain.st.gz (0 KB) 01-01-70 00:33 findAgainFix-sumim.1.cs.gz (0 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7841 | VM | minor | always | 11-16-15 08:58 | 11-16-15 20:57 | Nicolai Hess | lewis | normal | assigned | none | none | open | 0 | error "please insert disk" (windows vm) |
If you have a device (usb card reader) and eject the disk/card. Every access on the directory list, that will ask the drive if it is empty, will trigger a modal dialog: "There is no disk in the drive. Please insert a disk into drive <etc>" There is no way to bypass this error message dialog from within the image. We need a change for the squeak windows vm. |
see thread http://forum.world.st/error-please-insert-disk-windows-vm-tp4859473.html [^] | bug_7841_error_insert_disk.patch (2 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7840 | Tools | tweak | always | 11-13-15 01:59 | 11-13-15 01:59 | sumi | normal | new | none | none | 5.0 | open | 0 | [ENH][FIX] add new point size menu to FontChooser like StrikeFont fromUser (and fix) |
This patch allows you to use "new size..." yellow menu on FontChooserTool if TTCFont family selected, like StrikeFont fromUser. And also includes code to prevent StrikeFont fromUser generated menu from an error if you choose "new size" sub-menu item and then accept non-number string or cancel the dialog raised by #addNewFontSizeDialog: . |
addNewFontSizeMenuForFontChooser-sumim.4.cs (2 KB) 01-01-70 00:33 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7832 | Any | minor | always | 09-12-15 21:07 | 09-12-15 21:07 | Nicolai Hess | KenCausey | normal | assigned | none | none | 5.0 | open | 0 | Cut off info text about 32-libs |
If you start squeak on a 64-bit system you will see the following "warning" on the command line, for Squeak 4.6: Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ... But for Squeak-5.0 the text looks "cut off": Running 32-bit Squeak on a 64-bit System. install-libs32 may install them. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7831 | Any | minor | always | 09-12-15 21:02 | 09-12-15 21:02 | Nicolai Hess | KenCausey | normal | assigned | none | none | 5.0 | open | 0 | Horizontal scrollbar not always proprtional to the content |
The is some strange behavior on the horizontal scrollbar, sometimes it enables scrolling about an area that is much bigger than the content, and sometimes it is to small. attached a picture of the system browser, showing both issues. In the package pane, you see already the "longest content" but the scrollbar allows to scroll an addition third. So, you can scroll the whole content out of the screen. On the other side, the method pane, the scrollbar is already on the right most position, but you still can not see the last part of the method names. (It seems, this discrepancy between the visible area and the size of the scrollbar depends on the window size) |
SqueakScreen.2.png (46 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7830 | Any | minor | always | 09-11-15 20:59 | 09-11-15 20:59 | Nicolai Hess | KenCausey | normal | assigned | none | none | 5.0 | open | 0 | MessageNotUnderstood: SolidFillStyle>>addFillStyleMenuItems:hand:from: |
Show Halos for the Desktop (world) and select the "Menu"-Halo -> MessageNotUnderstood: SolidFillStyle>>addFillStyleMenuItems:hand:from: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7829 | Graphics | minor | always | 09-11-15 12:03 | 09-11-15 12:03 | Nicolai Hess | normal | new | none | none | open | 0 | New soft shadow isn't "soft" in some situations |
Enable soft shadow (it is enabled by default in Squeak 5.0). change display depth < 32 or drag a progress morph or drag a tool from the "objects" dialog or from the "Tools"-flap while the object is being dragged, the soft shadow not soft but a big black border. |
There is another issue with soft shadows for menus. (I tried to make a screenshot but the artifact is not visible in the screenshot) For example: open system browser press the "source"-button (press in the middle of the button) -> on the right side of the mouse, the menu opens, on the left side, you'll see a dark shadow (rendering artifact) on the source button. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7828 | tweak | always | 06-30-15 09:13 | 06-30-15 09:13 | JulianN | normal | new | none | none | open | 0 | Monticello Merge Functionality not intuitive | When mergeing using the monticello merge functionality it is not comprehensible what the different colors (red, blue (stroked), not marked) mean in respect to your changes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7793 | VM | minor | always | 10-19-13 21:36 | 04-22-15 21:40 | lewis | lewis | normal | resolved | none | none | fixed | 0 | Memory leak in the SqueakSSL plugin on unix |
Reported by Levente Uzonyi on squeak-dev: We've been experiencing memory leakage in long running Squeak images using SqueakSSL. After a bit of monitoring I found that 132 bytes get leaked for each https request done from the image. After a bit of code review, I've probably found the culprit, and another potential source of memory leak. For the reference, the source file this mail is about is http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c?revision=2713&view=markup [^] The main memory leak is in sqDestroySSL function (starting on line 117), which doesn't free the bioRead and bioWrite variables (allocated by sqCreateSSL on line 98-99) of the ssl object. My suggested solution is to insert the following two lines before line 132: BIO_free_all(ssl->bioRead); BIO_free_all(ssl->bioWrite); The other potential source of memory leak is sqSetStringPropertySSL (starting on line 381). It allocates a chunk of memory on line 389, but doesn't use nor free it, if the propID argument is not SQSSL_PROP_CERTNAME. My suggested solution is to insert the following line after line 396: if(property) free(property); Note that I haven't tested any of these, but I hope someone who is more into VM building right now will try them. |
sqUnixOpenSSL.c.gz (3 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7824 | VM | feature | always | 10-17-14 00:43 | 04-22-15 21:39 | lewis | lewis | normal | assigned | none | none | open | 0 | Add TLS SNI Server Name Indication support to SqueakSSL plugin |
Date: Thu, 16 Oct 2014 13:46:45 +0200 (CEST) From: Levente Uzonyi <leves@elte.hu> To: vm-dev@lists.squeakfoundation.org, squeak-dev@lists.squeakfoundation.org Subject: [Vm-dev] SqueakSSL + TLS SNI Hi, I've implemented support for TLS SNI[1] for SqueakSSL on unix. I've uploaded the modified source files[2][3], a diff[4], and a prebuilt module[5] (built on Ubuntu 14.04 from the Cog branch). The image side code is also available[6], along with an updated version of the WebClient[7] package, and intermediate packages with various improvements[8]. The image side code works even if the plugin doesn't support TLS SNI, but this version of WebClient won't work with older versions of the SqueakSSL-Core package. Please review the changes, and consider adding them to the corresponding repositories! Levente [1] https://en.wikipedia.org/wiki/Server_Name_Indication [^] [2] http://leves.web.elte.hu/squeak/SqueakSSL/SqueakSSL.h [^] [3] http://leves.web.elte.hu/squeak/SqueakSSL/sqUnixOpenSSL.c [^] [4] http://leves.web.elte.hu/squeak/SqueakSSL/diff.txt [^] [5] http://leves.web.elte.hu/squeak/SqueakSSL/SqueakSSL [^] [6] http://leves.web.elte.hu/squeak/SqueakSSL/SqueakSSL-Core-ul.29.mcz [^] [7] http://leves.web.elte.hu/squeak/SqueakSSL/WebClient-Core-ul.98.mcz [^] [8] http://leves.web.elte.hu/squeak/SqueakSSL/ [^] |
diff.txt (3 KB) 01-01-70 00:33 sqUnixOpenSSL.c (14 KB) 01-01-70 00:33 SqueakSSL.h (5 KB) 01-01-70 00:33 sqUnixSocket.diff (7 KB) 01-01-70 00:33 WebClient-Core-ul.98.mcz (105 KB) 01-01-70 00:33 SqueakSSL-Core-ul.29.mcz (32 KB) 01-01-70 00:33 SqueakSSL (80 KB) 01-01-70 00:33 sqMacSSL.patch (17 KB) 01-01-70 00:33 sqMacSSL.c (16 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7817 | VM | minor | always | 04-13-14 14:38 | 12-10-14 15:59 | lewis | lewis | normal | assigned | none | none | open | 0 | Fix vm-display-X11 problem for Japanese character input |
Fix provided by Hachisuka-San in Aichi Sangyo University Reported by TAKAHASHI Makoto (makoto at kobe-u.ac.jp) Posted by Hilaire Fernandes on Pharo list http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2014-April/094588.html [^] Proposed fix for vm-display-X11/sqUnixX11.c is included in post from Hilaire. |
Fix excerpted from mailing list post: De : "TAKAHASHI Makoto" <makoto at kobe-u.ac.jp> Date : 11 avr. 2014 15:46 Objet : Re: Japanese input in DrGeo À : <hilaire.fernandes at gmail.com> Cc : Hello Hilarie, Recently, Hachisuka-San in Aichi Sangyo University has resolved the issue of Scratch in Linux. http://www.asu.ac.jp/hachi/v3/scratch14ime.html [^] Unfortunately, this page is written in Japanese. (However you can see codes.) The resolution of the problem in DrGeo is as follows: 1. In drgeo.sh, add exec options '-compositioninput' like exec "$VM/pharo" \ -plugins "$VM" \ -encoding utf-8 \ -vm-display-X11 \ -compositioninput \ "$image" 2. Change recordPendingKeys(void) in vm-display-X11/sqUnixX11.c as follows and rebuild vm-display-X11. static int recordPendingKeys(void) { if (inputCount <= 0) { if (inputBuf != inputString) { free(inputBuf); inputBuf= inputString; } return 0; } int utf32 = 0; while (inputCount > 0) { //110x xxxx 10xx xxxx if(inputCount >= 2 && pendingKey[0] >= 0xc0 && pendingKey[0] <= 0xdf && pendingKey[1] >= 0x80 && pendingKey[1] <= 0xbf) { utf32 = ((pendingKey[0] & 0x1f) << 6) | (pendingKey[1] & 0x3f); recordKeyboardEvent(0, EventKeyDown, modifierState, utf32); recordKeyboardEvent(0, EventKeyChar, modifierState, utf32); pendingKey+=2; inputCount-=2; //1110 xxxx 10xx xxxx 10xx xxxx } else if(inputCount >= 3 && pendingKey[0] >= 0xe0 && pendingKey[0] <= 0xef && pendingKey[1] >= 0x80 && pendingKey[1] <= 0xbf && pendingKey[2] >= 0x80 && pendingKey[2] <= 0xbf) { utf32 = ((pendingKey[0] & 0x0f) << 12) | ((pendingKey[1] & 0x3f) << 6) | (pendingKey[2] & 0x3f); recordKeyboardEvent(0, EventKeyDown, modifierState, utf32); recordKeyboardEvent(0, EventKeyChar, modifierState, utf32); pendingKey+=3; inputCount-=3; //1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx } else if(inputCount >= 4 && pendingKey[0] >= 0xf0 && pendingKey[0] <= 0xf7 && pendingKey[1] >= 0x80 && pendingKey[1] <= 0xbf && pendingKey[2] >= 0x80 && pendingKey[2] <= 0xbf && pendingKey[3] >= 0x80 && pendingKey[3] <= 0xbf) { utf32 = ((pendingKey[0] & 0x07) << 18) | ((pendingKey[1] & 0x3f) << 12) | ((pendingKey[2] & 0x3f) << 6) | (pendingKey[3] & 0x3f); recordKeyboardEvent(0, EventKeyDown, modifierState, utf32); recordKeyboardEvent(0, EventKeyChar, modifierState, utf32); pendingKey+=4; inputCount-=4; } else { recordKeyboardEvent(*pendingKey, EventKeyDown, modifierState, 0); recordKeyboardEvent(*pendingKey, EventKeyChar, modifierState, 0); recordKeystroke(*pendingKey); /* DEPRECATED */ pendingKey++; inputCount--; } } return 1; } 3. Exchange vm-display-X11 in DrGeo.app/Contents/Linux. I tried this resolution. Finally I can put japanese character in DrGeo in LinuxMint 16. TAKAHASHI Makoto E-mail makoto at kobe-u.ac.jp |
drgeojapaneseinput.png (91 KB) 01-01-70 00:33 sqUnixX11.c (179 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7822 | VM | feature | always | 10-11-14 21:46 | 10-12-14 13:09 | lewis | lewis | normal | assigned | none | none | open | 0 | Unix aio VM support for 1024+ descriptors | The unix aio mechanism is limited to 1024 active file descriptors for sockets and file handles. For server application with many active socket descriptors, and for which the per-process descriptor limit has been increased above the default of 1024, this limit causes problems. |
Reported by Göran Krampe: http://lists.squeakfoundation.org/pipermail/vm-dev/2014-October/016648.html [^] Reference to a reported fix described at: http://lists.squeakfoundation.org/pipermail/squeak-dev/2003-May/057750.html [^] Contact Ragnar Hojland Espinosa for the fix as per above link. Presumably this is Linux specific, so appropriate ifdef and Cmake control will be required. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7823 | VM | major | always | 10-11-14 22:05 | 10-11-14 22:07 | lewis | lewis | normal | assigned | none | none | open | 0 | Patch for socket accept problem on unix VM |
Fix socket accept issues for unix VM server applications. Detailed problem description at http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/093575.html [^] Fix provided by David Shaffer (cdshaffer at acm.org) http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/093638.html [^] Recent problem revival note http://lists.squeakfoundation.org/pipermail/vm-dev/2014-October/016648.html [^] |
sqUnixSocket.diff (7 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7820 | VM | feature | always | 09-28-14 00:24 | 09-28-14 00:24 | lewis | lewis | normal | assigned | none | none | open | 0 | Add SCTP support to the socket plugin |
Add SCTP support to the socket plugin, submitted by Holger Freyther. Original post: http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/011971.html [^] Socket support code patches: https://gitorious.org/cogvm/zeckes-cogvm/commit/24bb6fd2c1666137356754049f03ca5f246711d7 [^] |
Patches are in the Pharo fork of the oscog branch. Could be harvested to trunk and oscog. Other notes: http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/011972.html [^] http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/011973.html [^] http://lists.squeakfoundation.org/pipermail/vm-dev/2014-September/016483.html [^] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
5711 | Morphic | minor | always | 01-08-07 15:03 | 09-16-14 19:06 | jreyes | nicolas cellier | normal | resolved | none | none | 3.9 | fixed | 0 | TextFieldMorph changes text position when emptied | Once initialized the TextFieldMorph displays an 'abc' text in the upper left corner. The text can be obviously edited but if you delete all the characters, the Morph changes its color to the default light gray and the text written after that doesnt appear in the top left corner anymore but one line below. |
"Sample code" textMorph:=TextFieldMorph new openInWorld. "At this point I delete all characters ('abc') mannually and write some new text" textMorph fit. "After this, text goes to the corner again" ------------- Pressing Alt-0 the new text goes back to the corner as well, but that behaviour should be default. This reported change in text position doesnt happen either if you select the 'abc' initial text and write some replacement, only when the TextFieldMorph is emptied. |
Mantis 0005711 - FixTextFieldMorphLinePosition.1.cs.gz (1 KB) 01-01-70 00:33 FixTextFieldMorphLinePosition-M5711-ASB.1.cs.gz (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7539 | VM | feature | always | 05-28-10 00:52 | 05-19-14 23:05 | lewis | lewis | normal | assigned | none | none | open | 0 | Plugins should use platform libraries where possible. Gentoo removed Squeak for this reason. | Some plugins are built from archival copies of library source code. Where possible, these should use platform-supplied libraries to avoid security and licensing concerns. Use of old copies of library sources has let to removal of Squeak from at least one Linux distribution. |
Gentoo discussion leading to removal of Squeak from distribution: http://bugs.gentoo.org/show_bug.cgi?id=247363 [^] Discussion on vm-dev begins here: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004625.html [^] John's summary and history rationale: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004629.html [^] http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004633.html [^] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
5504 | ST80 | tweak | always | 11-24-06 18:14 | 05-13-14 20:32 | sumi | nicolas cellier | normal | resolved | none | none | 3.9 | fixed | 0 | [FIX][ENH] editor mode FileList should keeps its contents even if saving as another name |
We can open a text file using FileList's editor mode, by choosing world menu -> open... -> file... or "do it" a script such as... (FileStream fileNamed: 'some.txt') edit Two problems occurs when we change the file's name. Whenever renaming, we have to re-open the renamed file because the code pane, no longer, shows the contents of the text file, but file list of current directory. The attached changeset file fixes these problems. |
FileListLabelTweak.1.cs.gz (1 KB) 01-01-70 00:33 FileListLabelTweak.2.cs.gz (1 KB) 01-01-70 00:33 fileEditorSaveAsFix-sumim-M0005504.2.cs (2 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
3612 | Compiler | minor | always | 05-12-06 18:11 | 05-12-14 23:15 | kwl | nicolas cellier | normal | resolved | none | none | 3.9 | fixed | 0 | MethodProperties are nil when creating CompiledMethod with the toReturnXYZ methods |
The toReturnXYZ methods on the class side leave MethodProperties uninitialized and so Behavior>>#basicAddSelector:withMethod: fails when it does compiledMethod #selector:. Looks like MethodProperties would like to be a bit closer to CompiledMethod. |
MessageNotUnderstood: UndefinedObject>>selector: 12 May 2006 6:08:28 pm VM: Win32 - a SmalltalkImage Image: Squeak3.9alpha [latest update: 0007028] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir ...etc... Trusted Dir ...etc... Untrusted Dir ...etc... UndefinedObject(Object)>>doesNotUnderstand: #selector: Receiver: nil Arguments and temporary variables: aMessage: selector: #x Receiver's instance variables: nil CompiledMethod>>selector: Receiver: a CompiledMethod (1207) Arguments and temporary variables: aSymbol: #x Receiver's instance variables: a CompiledMethod (1207) ImmutableSlots(Behavior)>>basicAddSelector:withMethod: Receiver: a descendent of MutableSlots Arguments and temporary variables: selector: #x compiledMethod: a CompiledMethod (1207) oldMethodOrNil: nil Receiver's instance variables: superclass: MutableSlots methodDict: a MethodDictionary(#x->a CompiledMethod (1207) ) format: 132 traitComposition: nil localSelectors: nil ImmutableSlots(Behavior)>>basicAddSelector:withMethod: Receiver: a descendent of MutableSlots Arguments and temporary variables: selector: #x compiledMethod: a CompiledMethod (1207) oldMethodOrNil: nil Receiver's instance variables: superclass: MutableSlots methodDict: a MethodDictionary(#x->a CompiledMethod (1207) ) format: 132 traitComposition: nil localSelectors: nil ...etc... |
CompiledMethodTest-toReturnXyz-kwl-M3612.st (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7084 | Compiler | minor | always | 06-07-08 02:16 | 05-12-14 22:46 | Keith_Hodges | normal | feedback | none | none | 3.9 | open | 0 | ClassBuilder doesnt call doneCompiling: | ClassBuilder-#nameIn... doesnt call doneCompiling: | Fix from Andreas | ClassBuilder-nameinEnvironmentsubclassOftypeinstanceVariableNamesclassVariableNamespoolDictionariescategoryunsafe.st (4 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
4309 | Compiler | minor | always | 07-21-06 16:57 | 05-12-14 22:19 | kwl | nicolas cellier | normal | resolved | none | none | 3.9 | fixed | 0 | Compiler/Parser allows undefined variable when LHS to := |
The following snippet does NOT raise an error message: | tmp1 tmp2 | tmp1 := 2. tmp2 := tmp2 + tmp1 But the following modification DOES raise an "undefined. proceed?" dialog | tmp1 tmp2 | tmp1 := 2. tmp1 := tmp2 + tmp1 Tested with 3.8 + 3.9. Note that the error message should speak about "uninitialized" instead of "undefined" because the variables are indeed between the |'s. |
There can only be ONE rule for what is uninitialized and what is initialized, regardless of how a variable is used "mentioned" for the first time on the RHS of an expression. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7755 | Compiler | minor | always | 03-14-13 10:45 | 05-12-14 22:15 | FrankShearar | nicolas cellier | normal | resolved | none | none | trunk | fixed | 0 | "1.0s" does not parse |
David Gorisek <david.gorisek@e-racuni.com> sent this to the Pharo list: Hello all, I am testing Pharo and I have noticed that the Pharo compiler does not treat ScaledDecimals the same way they are treated in other Smalltalk dialects (e.g. VW, VAST, Dolphin, STX, etc.). For example the following is a valid code representing an instance of ScaledDecimal/FixedPoint in all other dialect. 1.0s + 2.0s In Phare the code above wont compile, it has to be written as: 1.0s1 + 2.0s1 So I have made the following quick change to make Pharo compatible with other Smalltalk dialects. Maybe this change could be included in the next version of Pharo? SqNumberParser>>#readScale "read the scale if any (stored in instVar). Answer true if found, answer false if none. If scale letter is not followed by a digit, this is not considered as an error. Scales are always read in base 10, though i do not see why..." scale := 0. sourceStream atEnd ifTrue: [ ^ false ]. (sourceStream peekFor: $s) ifFalse: [ ^ false ]. scale := self nextUnsignedIntegerOrNilBase: 10. scale ifNil: [ scale := 0. (sourceStream peek ifNil: [false] ifNotNil: [ :nextChar | nextChar isLetter]) ifTrue: [ sourceStream skip: -1. "ungobble the s" ^ false ] ifFalse: [ ^ true ] ]. ^ true |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
5905 | Compiler | minor | always | 02-01-07 21:24 | 05-12-14 19:58 | lexspoon | nicolas cellier | normal | resolved | none | none | 3.9 | fixed | 0 | please let class vars shadow globals | Currently the system refuses to load two packages where one defines a global variable and the other a class variable. This causes an immediate total failure for any unfortunate person who runs into it. While this kind of error may make sense for monolithic image, it is problematic for package-ized development. As an example, Exupery 0.10 conflicts with SmallDEVS version 061206, over the variable name "Timer". |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
5793 | ST80 | minor | always | 01-20-07 05:57 | 05-12-14 19:46 | gilad | nicolas cellier | normal | resolved | none | none | 3.8 | fixed | 0 | Empty blocks do not conform to Blue Book |
An empty block is defined to return nil. In Squeak, it returns its last argument. This makes very little sense, and is different from other Smalltalks. I suppose you dare not change it, as who knows what code relies on this behavior. To confirm this, define the following method in any class emptyBlock ^[:x :y :z | ] value:1 value: 2 value: 3 Then create an instance and invoke it. It evaluates to 3 instead of nil. |
EmptyBlockResult-M5793-Test.1.cs (1 KB) 01-01-70 00:33 EmptyBlockResult-M5793-PatchForOldCompiler.1.cs (2 KB) 01-01-70 00:33 EmptyBlockResult-M5793-Test.2.cs (1 KB) 01-01-70 00:33 EmptyBlockResult-M5793-PatchForOldCompiler.2.cs (2 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7818 | OS-Linux | minor | always | 04-13-14 17:51 | 04-13-14 17:51 | Stu | normal | new | none | none | trunk | open | 0 | Incorrect bpp calculation in sqCamera-linux.c |
Incorrect bpp calculation in sqCamera-linux.c. There are also a couple of instances of trailing whitespace in the switch statement where this bug is found. |
--- sqCamera-linux.c.orig Sun Apr 13 13:47:01 2014 +++ sqCamera-linux.c Sun Apr 13 13:48:25 2014 @@ -696,7 +696,7 @@ bpp = 2; break; case V4L2_PIX_FMT_YUYV: /* printf("V4L2_PIX_FMT_YUYV\n"); */ - bpp = 4; + bpp = 2; break; } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7816 | VM | minor | always | 04-05-14 15:41 | 04-06-14 16:12 | lewis | lewis | normal | assigned | none | none | open | 0 | Update CameraPlugin for 64-bit VM | The CameraPlugin causes VM crashes when used with Scratch on a VM that has been compiled in 64-bit mode. | A VM installed with apt get on 64 bit Ubuntu are 64-bit VMs, so the problem affects Scratch users on 64-bit Ubuntu. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7815 | VM | minor | always | 04-03-14 22:17 | 04-03-14 22:18 | lewis | lewis | normal | assigned | none | none | open | 0 | Complete the integration of Scratch plugins for all platforms and VMs |
The Scratch plugins (that is ScratchPlugin CameraPlugin UnicodePlugin WeDoPlugin) are not integrated into the SVN tree properly. trunk/unix has all four; trunk/riscos has ScratchPlugin. trunk/Mac OS has none of them. trunk/win32 has just the CameraPlugin. The Cog tree (which isn?t currently viewable via the web, by the way) appears not to have any of them for unix nor Mac OS - the win32 +directory is the same as for the plain interp and so is the RISCOS tree. |
Reported on vm-dev: http://lists.squeakfoundation.org/pipermail/vm-dev/2014-April/014993.html [^] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
3732 | Hedgehog | minor | always | 05-27-06 13:26 | 03-23-14 19:37 | quiwox | normal | new | none | none | open | 0 | Missing textures in CalmoPuzzleDemo. | There are missing textures in CalmoPuzzleDemo at CroquetSource/Public Contributions : http://hedgehog.software.umn.edu:8888/@TIlzScmWkltEnLOf/GUNVDAJp [^] |
CalmoPuzzleDemo-gzs.2.mcz (7 KB) 01-01-70 00:33 CalmoPuzzleDemo-Textures-gzs.zip (29 KB) 01-01-70 00:33 CalmoPuzzleDemo-CalmoSoft.5.mcz (7 KB) 01-01-70 00:33 CalmoPuzzleTextures.zip (12 KB) 01-01-70 00:33 CalmoPuzzle_In_Croquet.png (342 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7813 | Hedgehog | minor | always | 03-23-14 11:07 | 03-23-14 19:34 | CalmoSoft | normal | new | none | none | open | 0 | Necessary Texture Files for CalmoSoft Puzzle Game | Necessary Texture Files for CalmoSoft Puzzle Game |
CalmoPuzzleTextures.zip (12 KB) 01-01-70 00:33 CalmoPuzzleDemo-gzs.2.mcz (7 KB) 01-01-70 00:33 CalmoPuzzleDemo-CalmoSoft.5.mcz (7 KB) 01-01-70 00:33 CalmoPuzzle_In_Croquet.png (342 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7811 | VM | minor | always | 03-06-14 21:10 | 03-06-14 21:23 | lewis | lewis | normal | assigned | none | none | open | 0 | squeak-vm: Fails to build with clang instead of gcc | VM does not compile on clang compiler, affects Debian distribution |
Reported on vm-dev http://lists.squeakfoundation.org/pipermail/vm-dev/2014-March/014817.html [^] Forwarded from Debian bug report > Resent-From: Nicolas Sévelin-Radiguet <nicosr@free.fr> > From: Nicolas Sévelin-Radiguet <nicosr@free.fr> > Subject: Bug#740972: squeak-vm: Fails to build with clang instead of gcc > Date: 6. März 2014 11:21:36 GMT-8 > Resent-To: debian-bugs-dist@lists.debian.org > To: Debian Bug Tracking System <submit@bugs.debian.org> > Resent-Cc: Debian Squeak Team <pkg-squeak-devel@lists.alioth.debian.org> > Reply-To: Nicolas Sévelin-Radiguet <nicosr@free.fr>, 740972@bugs.debian.org > > Package: squeak-vm > Version: 4.10.2.2614-1 > Severity: minor > Tags: patch > User: pkg-llvm-team@lists.alioth.debian.org > Usertags: clang-ftbfs > > Hello, > > Your package fails to build with clang instead of gcc. [-Wreturn-type] > Buildlogs and patch are here: > https://github.com/nonas/debian-clang/tree/master/buildlogs/squeak-vm [^] > > Regards, > Nicolas > > -- System Information: > Debian Release: jessie/sid > APT prefers testing-updates > APT policy: (500, 'testing-updates'), (500, 'testing') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > > Kernel: Linux 3.12-1-amd64 (SMP w/4 CPU cores) > Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7810 | Morphic | text | always | 02-06-14 08:43 | 02-06-14 16:08 | vaidasd | normal | new | none | none | trunk | open | 0 | Cursor is positioned improperly for the underscore character '_'(asciiValue 95) | Using default preferences paste the string '__________________________________' in workspace, and press End key. Cursor is positioned improperly for the underscore character '_'(asciiValue 95)Bitmap DejaVu Sans, all font sizes. Version 4.5-13671. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7809 | System | text | always | 02-06-14 08:27 | 02-06-14 16:07 | vaidasd | normal | new | none | none | trunk | open | 0 | turning off bigDisplay preference does not return to the previous display settings | Turning on an then off bigDisplay preference does not return to the initial font settings. Version 4.5-13671 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3334 | Morphic | minor | always | 03-21-06 09:21 | 02-05-14 16:41 | al | low | new | 7014 | none | none | 3.9 | open | 0 | Preference browser displays buttons in old style | n/a |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7808 | Morphic | minor | always | 02-04-14 21:25 | 02-04-14 21:26 | tim | normal | new | none | none | 4.4 | open | 0 | PreferenceBrowser cleanups needed |
When checking out the 4.5 rc3 image - One thing we probably ought to clean up at some point is the Preferences. There’s plenty of scope for confusion in the button row; the ‘default’ button doesn’t set things to how the image is delivered - at the very least the flaps seem to turn on. (Looks like Preferences class>defaultValueTableForCurrentRelease would need whacking on) ‘save’ & ‘save to disk’ would seem redundant (I know they’re actually different but would any new user?) similarly ‘load’ & ‘load from disk’ save & load to disk only load a specific file with no option to choose which one the balloon help is sufficiently translucent as to be almost indecipherable … and the text is often confused the themes seem rather out of date - ‘out of the box’ is for 3.2? Wow. I very, very, rarely touch preferences, which is why I don’t think I’ve really noticed this before. I’ll Mantisize the above. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7807 | Morphic | minor | always | 01-08-14 18:26 | 01-14-14 00:31 | tim | normal | new | none | none | 4.4 | open | 0 | Morphic drag/drop methods with confusing code and comments |
After digging around a large number of drag/drop related methods I have a) a rather better understanding of how it works b) a small list of rather odd methods that seem in need of a moments consideration and probably improving. There seems to be some confusion about the meaning and use of #isPartsBin[:] & #isPartsDonor[:], a rather confused PasteUpMorph>repelsMorph:event: (and #wantsDroppedMorph:event:), and the usual confused and/or outdated comments that mislead the reader. |
The attached change set is a bunch of methods where I have simply commented what I suspect to be wrong or in need of improving. Just before a release is not a time to change a basic bit of code in PasteUpMorph without review. | DragDropQuestions.1.cs (4 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7806 | Morphic | minor | always | 01-08-14 00:56 | 01-08-14 01:10 | seandenigris | normal | new | none | none | trunk | open | 0 | Text Morph Embedding Broken |
Squeak4.5 latest update: #13352 Text withAll: 'foo') , (Text string: '*' attribute: (TextAnchor new anchoredMorph: MenuIcons confirmIcon)) , (Text withAll: 'bar'). text asMorph openInHand. The Morph contents are 'foo*bar' i.e. no icon |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7805 | VM | feature | always | 01-06-14 18:26 | 01-06-14 18:26 | lewis | lewis | normal | assigned | none | none | open | 0 | Need simulation support for the BalloonEnginePlugin, FloatArrayPlugin & Matrix2x3Plugin primitives |
VM simulation support is not available for these plugins, apparently due to issues in simulating 32 bit float access. Reported on vm-dev: http://lists.squeakfoundation.org/pipermail/vm-dev/2014-January/014417.html [^] |
Feature request and background: Date: Mon, 6 Jan 2014 09:30:17 -0800 From: Eliot Miranda <eliot.miranda@gmail.com> To: Squeak Virtual Machine Development Discussion <vm-dev@lists.squeakfoundation.org> Subject: [Vm-dev] Simulating the BalloonEnginePlugin, FloatArrayPlugin & Matrix2x3Plugin primitives Hi All, I'm just revising plugin treatment in Spur and came across this old snippet of mysterious code: InterpreterSimulator>>loadNewPlugin: pluginString | plugin simClass | transcript cr; show:'Looking for module ', pluginString. (#('FloatArrayPlugin' 'Matrix2x3Plugin') includes: pluginString) ifTrue: [transcript show: ' ... defeated'. ^ nil]. In the past I got as far as rewriting it to read... InterpreterSimulator>>loadNewPlugin: pluginString | plugin plugins simulatorClasses | transcript cr; show: 'Looking for module ', pluginString. "but *why*??" (#('FloatArrayPlugin' 'Matrix2x3Plugin') includes: pluginString) ifTrue: [transcript show: ' ... defeated'. ^nil]. plugins := InterpreterPlugin allSubclasses select: [:psc| psc moduleName asString = pluginString asString]. In revising the code for Spur I removed the defeat code and found out more. It's essentially because the BalloonPlugin has difficulty simulating accesses of 32-bit floats. If you simply defeat the code and let things run soon you get failures in FloatArrayPlugin & Matrix2x3Plugin primitives. These can be fixed by implementing the following in the FloatArrayPlugin & Matrix2x3Plugin: cCoerce: value to: cType ^cType = 'float' ifTrue: [value asIEEE32BitWord] ifFalse: [value] But soon you hit more difficult failures in the BalloonEnginePlugin, e.g. in BalloonEngineBase>>transformPointX: xValue y: yValue into: dstPoint "Transform srcPoint into dstPoint by using the currently loaded matrix" "Note: This should be rewritten so that inlining works (e.g., removing the declarations and adding argument coercions at the appropriate points)" | x y transform | <inline: true> <var: #dstPoint type:'int *'> <var: #xValue type: 'double '> <var: #yValue type: 'double '> <var: #transform type:'float *'> transform := self edgeTransform. x := ((((transform at: 0) * xValue) + ((transform at: 1) * yValue) + (transform at: 2)) * self aaLevelGet asFloat) asInteger. y := ((((transform at: 3) * xValue) + ((transform at: 4) * yValue) + (transform at: 5)) * self aaLevelGet asFloat) asInteger. dstPoint at: 0 put: x. dstPoint at: 1 put: y. where x and y end up being the integer representation of 64-bit floats while dstPoint accepts the integer representation of 32-bit floats. At least I think that's what's going on. In any case I need to focus on Spur and can't spare the time to fix this. But I find it unsatisfactory. It means the VM simulation isn't accurate. In the simulation the primitives fail and Smalltalk code is run. In the real VM the primitives work. And that's deeply unsatisfying. So if there's anyone itching for a VM challenge try and make the BalloonEnginePlugin, FloatArrayPlugin & Matrix2x3Plugin primitives simulate correctly, removing the defeat code above. That would be a great new year's gift. -- best, Eliot |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7652 | VM | minor | always | 07-14-11 19:47 | 01-06-14 18:18 | matthewf | lewis | normal | assigned | none | none | open | 0 | The idle process does not wake up when delays are scheduled, on linux | I have a thread that sends network messages at a constant rate. it's supposed to send at about 100 packets per second (delay of 10ms). However, it always sends at 50 packets per second unless I move the mouse around. When moving the mouse around, it sends nearer it's desired frequency. Enabling higherPerformance does not help |
This is my VM: (standard interpreter 4.4.7 on ubuntu 11.04 linux, with a couple extra plugins for cobalt) 4.4.7-2357 #1 XShm Sun Jan 23 18:17:31 PST 2011 gcc 4.3.2 Linux vps2.piumarta.com 2.6.18-028stab053.10-ent #1 SMP Thu Feb 28 20:34:08 MSK 2008 i686 GNU/Linux plugin path: ./bin/i686-pc-linux-gnu [default: /media/Knoppix/opencobalt-1.0alpha12-squeak16.fat/bin/i686-pc-linux-gnu/] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7804 | Morphic | minor | always | 01-03-14 02:26 | 01-03-14 02:26 | tim | normal | new | none | none | 4.4 | open | 0 | Morphic list usage of #list: & #isThisEverCalled | A number of #list: methods in some Morphic list related classes (PluggableListMorph & subclasses mostly) are tagged with #isThisEverCalled because they appear to be redundant code. |
Most sends of #list: are part of tool builder spec building. Many are in classes out of the PluggableListMorph hierarchy. The remaining ones are:- AlternatePluggableListMorphOfMany (send to super/PluggableListMorph) PluggableListMorphByItem sends to super (PLM) PluggableListMOrphByItmePlus ditto PluggableListMorphOfMany PluggableMultiColumnListMorphByItem .. .and almost certainly can be removed. But it's too close to a release to do something that might just fuck the system. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7801 | Environments | minor | always | 12-22-13 14:55 | 12-22-13 14:55 | FrankShearar | normal | new | none | none | trunk | open | 0 | SmalltalkImage >> #add:toList:after: assumes the root environment |
If a class from a non-"root" environment wants to add itself to the startup/shutdown lists, the above-mentioned method rejects the attempt because of a "Smalltalk globals includes: aClass" check. This means that, for instance, you can't load Xtreams into an Environment, because XTIOHandle tried to register with the shutdown list. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7800 | Environments | minor | always | 12-20-13 21:58 | 12-20-13 21:58 | FrankShearar | normal | new | none | none | trunk | open | 0 | Loading an MC package into a private Environment adds a global PackageInfo | Loading an mcz into the Smalltalk globals Environment should definitely cause a globally visible event like the creation of a PackageInfo. However, this makes no sense for other Environments. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2237 | Browser | minor | always | 11-17-05 01:45 | 12-03-13 09:50 | johnmci | normal | new | none | none | 3.9 | open | 0 | senders-of does not correctly setup selection range when finding messages of the form a:b: |
0006696 if you have a method called a: which calls a:b: and you ask for senders of a:b: It correctly shows a:, but when you select that method and the code responsible for finding a:b: actually only finds on a: not a:*b: so in this case it selects the method name a: at the top. Then you have to hunt for the a:b: it should have shown. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7795 | text | always | 11-24-13 15:51 | 11-24-13 15:51 | Nicolai Hess | normal | new | none | none | open | 0 | current release at www.squeak.org 4.3 or 4.4? |
Two links at www.squeak.org/Download link to http://ftp.squeak.org/4.3/Squeak-4.3-All-in-One.zip [^] 1. (At top) Fastest way to start is *Squeak All-in-One* distribution ... 2. Image file This is the official Squeak release. *Squeak Release* but the one link on the right side mentions Version 4.4 and links to this version. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7792 | VM | minor | always | 10-15-13 15:25 | 10-20-13 15:49 | FrankShearar | FrankShearar | normal | resolved | none | none | fixed | 0 | Implement primitiveQuit for the Interpreter VM |
Cog already implements this. Image side caller of primitive: http://source.squeak.org/inbox/System-ul.528.mcz [^] |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
1372 | TrueType | minor | always | 06-23-05 17:20 | 09-30-13 23:22 | bert | tim | normal | assigned | none | none | open | 0 | Fonts have invisible characters | Try "(0 to: 255) asByteArray asString" - there are many blank glyphs |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
1342 | TrueType | minor | always | 06-12-05 11:40 | 09-30-13 23:21 | hitoro | tim | normal | assigned | none | none | 3.8 | open | 0 | Support for typographic punctuation is gone | It is not longer possible to insert bullets (•), dashes (–, —) and quotation marks (‘, ’, “, ”); these characters are displayed as hollow rectangles (TrueType fonts) or blank spaces (bitmap fonts). What puzzled me is that the guillemets are still there («»). | Running Squeak 3.8 6665, Carbon Mac VM. No problem with a 3.7 image. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
6570 | Graphics | minor | N/A | 07-22-07 01:39 | 09-30-13 22:59 | wiz | tim | normal | assigned | none | none | open | 0 | A Mother for font and font test problems | A place to collect font related reports |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7788 | Monticello | minor | always | 09-20-13 11:02 | 09-20-13 11:02 | FrankShearar | avi | normal | assigned | none | none | trunk | open | 0 | MCConflict >> #chooseNewer doesn't always resolve conflicts |
It looks like the logic's not exhaustive: chooseNewer self isLocalNewer ifTrue: [ self chooseLocal ] ifFalse: [ self isRemoteNewer ifTrue: [ self chooseRemote ]] Except, if self isLocalNewer not and: [self isRemoteNewer not] then you haven't chosen anything. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7787 | Monticello | minor | always | 09-12-13 08:52 | 09-12-13 08:52 | FrankShearar | avi | normal | assigned | none | none | trunk | open | 0 | MCClassDefinition >> #actualClass uses Smalltalk, not an environment | As above. However, note that definition-like things (this guy, ChangeRecord, ...) should perhaps not reference an Environment AT ALL, but simply changes. Then fileIn procedures that know a target Environment take care of resolving #realClass, #actualClass and similar things. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7786 | Etoys | minor | always | 09-05-13 23:58 | 09-05-13 23:58 | jmckeon | normal | new | none | none | 4.4 | open | 0 | Changing a user defined variable's value type raises an error |
Add a variable to a player, click the variable menu and select "change value type". If Preferences>>allowEToysCustomEvents is false, Vocabulary class>>typeChoices attempts to send remove:ifAbsent: to the IdentityDictionary returned from allStandardVocabularies. |
Fix added to the inbox | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7785 | VM | minor | always | 08-12-13 18:19 | 08-28-13 18:04 | lewis | eem | normal | assigned | none | none | fixed | 0 | RePlugin patch for pcre from Debian bug report #710375 |
Reported here: http://lists.squeakfoundation.org/pipermail/vm-dev/2013-August/013368.html [^] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710375 [^] squeak-vm uses the system pcre library which does not provide the prce_info anymore: int pcre_fullinfo(const pcre *code, const pcre_extra *extra, int what, void *where); The pcre_fullinfo() function returns information about a compiled pat- tern. It replaces the pcre_info() function, which was removed from the library at version 8.30, after more than 10 years of obsolescence. |
A patch has been provided by a Debian maintainer, but may need to be reimplemented in the plugin slang. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7784 | SARInstaller | crash | always | 08-08-13 19:34 | 08-08-13 19:34 | tim | normal | new | none | none | 4.4 | open | 0 | SARInstaller>fileInMonticelloPackageNamed: sends unimplemented message #readStreamDo: |
Stumbled on this as part of other work - looks like FileStream>readStreamDo: must have got deleted some time ago. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4785 | Kernel | minor | always | 09-09-06 12:49 | 08-05-13 18:03 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | fixed | 0 | [KernelImageOverride] Utilities class informUserDuring: |
Utilities class >> informUserDuring: uses ugly implementation with isMorphic message. Should call UIManager UIManager default informUserDuring: aBlock Unlike Utilities class >> informUser:during: this message is used in the kernel a lot. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
4783 | Kernel | minor | always | 09-09-06 12:37 | 08-05-13 18:01 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | fixed | 0 | [KernelImageOverride] Utilities class informUser:during: |
Utilities class >> informUser:during: uses ugly implementation with Smalltalk isMorphic and it should be replaced by UIManager method. Then also is not necesary to have this method in Utilities. UIManager default informUser: aString during: aBlock Then it probably should be removed from the kernel |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
4795 | Kernel | minor | always | 09-09-06 14:28 | 08-05-13 17:58 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | fixed | 0 | [KernelImageOverride] SysntaxErrorNotification defaultAction |
SysntaxErrorNotification >> defaultAction original: defaultAction ^ToolSet debugSyntaxError: self override: defaultAction UIManager default syntaxErrorNotificationDefaultAction: self dependent on Tools. It should be override of Tools package. Mabye rising of unhandled error will be better solution than special UIManager message. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
4816 | Kernel | minor | always | 09-09-06 16:41 | 08-05-13 17:42 | Krivanek | FrankShearar | normal | resolved | none | none | fixed | 0 | [KernelImageOverride] Locale class localeChanged |
Locale class >> localeChanged original: localeChanged #(#ParagraphEditor #BitEditor #FormEditor #StandardSystemController ) do: [:key | Smalltalk at: key ifPresent: [:class | class initialize]]. StrikeFont localeChanged. PartsBin localeChanged. Project localeChanged. PaintBoxMorph localeChanged. ColorPickerMorph localeChanged. Preferences localeChanged override: localeChanged #() do: [:key | Smalltalk at: key ifPresent: [:class | class initialize]]. StrikeFont localeChanged. Preferences localeChanged Ugly code, we need refactoring with some registry of classes that need to process the change of locale. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
4817 | Kernel | minor | always | 09-09-06 16:43 | 08-05-13 17:40 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | fixed | 0 | [KernelImageOverride] LanguageEnvironment class startUp |
LanguageEnvironment class >> startUp original: startUp self clearDefault. Clipboard startUp. HandMorph startUp. override: startUp self clearDefault. Clipboard startUp. Morphic dependent code |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7783 | Installer | feature | always | 08-05-13 14:59 | 08-05-13 14:59 | FrankShearar | normal | new | none | none | trunk | open | 0 | Support SmalltalkHub |
We want something so that we can say Installer stHub user: 'Foo' project: 'Bar' |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1554 | Kernel | minor | always | 07-26-05 19:39 | 07-28-13 14:57 | KenCausey | normal | resolved | none | none | trunk | fixed | 0 | [FIX] ClassVarsFix-petervr-v2 for compiler class var & global var shadowing issue |
from preamble: "Change Set: ClassVarsFix-petervr-v2 Date: 9 October 2003 Author: Peter van Rooijen fixes the lookup of class variables. previously, inherited class variables did not shadow other shared variables. v2 - minor improvements"! |
ClassVarsFix-petervr-v2.cs.gz (1 KB) 01-01-70 00:33 Tests-ClassVarsFix.st.gz (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
4802 | Kernel | minor | always | 09-09-06 15:00 | 07-25-13 10:57 | Krivanek | normal | new | none | none | 3.10 | open | 0 | [KernelImageOverride] SmalltalkImage fixObsoleteReferences |
SmalltalkImage >> fixObsoleteReferences The code SystemNavigation default obsoleteBehaviors inspect. was commented. Tools (inspector) dependet. Maybe the new special UIManager message for general object inspecting/exploring will be useful. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
4806 | Kernel | minor | always | 09-09-06 15:48 | 07-25-13 10:25 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | no change required | 0 | [KernelImageOverride] ProgressInitiationException defaultAction |
ProgressInitiationException >> defaultAction original: defaultAction Smalltalk isMorphic ifTrue: [self defaultMorphicAction] ifFalse: [self defaultMVCAction]. override: defaultAction UIManager default progressInitiationExceptionDefaultAction: self UI dependent code replaced with the new UIManager message. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
4827 | Kernel | minor | always | 09-09-06 17:30 | 07-25-13 10:24 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | no change required | 0 | [KernelImageOverride] FileExistsException defaultAction |
FileExistsException >> defaultAction original: defaultAction "The default action taken if the exception is signaled." ^self readOnly ifTrue: [StandardFileStream readOnlyFileDoesNotExistUserHandling: self fileName] ifFalse: [StandardFileStream fileDoesNotExistUserHandling: self fileName] override: defaultAction "The default action taken if the exception is signaled." ^ UIManager default fileDoesNotExistsDefaultAction: self Maybe the rising of unhandled error will be better solution for KI than special UIManager message |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
4829 | Kernel | minor | always | 09-09-06 17:37 | 07-25-13 10:22 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | no change required | 0 | [KernelImageOverride] FileDirectory rename:toBe: |
FileDirectory >> rename:toBe: original: rename: oldFileName toBe: newFileName | selection oldName newName | "Rename the file of the given name to the new name. Fail if there is no file of the old name or if there is an existing file with the new name." "Modified for retry after GC ar 3/21/98 18:09" oldName := self fullNameFor: oldFileName. newName := self fullNameFor: newFileName. (StandardFileStream retryWithGC:[self primRename: oldName asVmPathName to: newName asVmPathName] until:[:result| result notNil] forFileNamed: oldName) ~~ nil ifTrue:[^self]. (self fileExists: oldFileName) ifFalse:[ ^self error:'Attempt to rename a non-existent file'. ]. (self fileExists: newFileName) ifTrue:[ selection := (PopUpMenu labels: 'delete old version cancel') startUpWithCaption: 'Trying to rename a file to be ', newFileName , ' and it already exists.'. selection = 1 ifTrue: [self deleteFileNamed: newFileName. ^ self rename: oldFileName toBe: newFileName]]. ^self error:'Failed to rename file'. override: rename: oldFileName toBe: newFileName | selection oldName newName | "Rename the file of the given name to the new name. Fail if there is no file of the old name or if there is an existing file with the new name." "Modified for retry after GC ar 3/21/98 18:09" oldName := self fullNameFor: oldFileName. newName := self fullNameFor: newFileName. (StandardFileStream retryWithGC:[self primRename: oldName asVmPathName to: newName asVmPathName] until:[:result| result notNil] forFileNamed: oldName) ~~ nil ifTrue:[^self]. (self fileExists: oldFileName) ifFalse:[ ^self error:'Attempt to rename a non-existent file'. ]. (self fileExists: newFileName) ifTrue:[ selection := UIManager default chooseFrom: #('delete old version' 'cancel') values: #(1 2) title: 'Trying to rename a file to be ', newFileName , ' and it already exists.'.. selection = 1 ifTrue: [self deleteFileNamed: newFileName. ^ self rename: oldFileName toBe: newFileName]]. ^self error:'Failed to rename file'. UI dependent code replaced with UIManager message |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7782 | CI | minor | always | 07-25-13 10:17 | 07-25-13 10:17 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Intermittent build failures because |
http://build.squeak.org/job/SqueakTrunk/472/testReport/junit/TraitsTests.Kernel/PureBehaviorTest/testUpdateWhenLocalMethodRemoved/ [^] shows a weird error. Something goes wrong with the sourceStream of the Compiler. I have an idea it's something to do with a RemoteString trying to read out the changes file and borking. Sadly, I don't remember the exact details. Could it have been with a malformed timestamp? |
Parser>>notify:at: Parser>>offEnd: Parser(Scanner)>>xSingleQuote Parser(Scanner)>>scanToken Parser>>advance Parser>>init:cue:failBlock: Parser>>parse:cue:noPattern:ifFail: Compiler>>translate:noPattern:ifFail: Compiler>>compile:in:classified:notifying:ifFail: C2 class(ClassDescription)>>traitAddSelector:withMethod: [] in C2 class(ClassDescription)>>installTraitMethodDict: [] in Dictionary>>keysAndValuesDo: Dictionary>>associationsDo: Dictionary>>keysAndValuesDo: C2 class(ClassDescription)>>installTraitMethodDict: C2 class(ClassDescription)>>installTraitsFrom: C2 class(ClassDescription)>>updateTraits [] in Trait(TraitDescription)>>installTraitsFrom: Array(SequenceableCollection)>>do: Trait(TraitDescription)>>installTraitsFrom: Trait(ClassDescription)>>updateTraits [] in Trait(TraitDescription)>>installTraitsFrom: Array(SequenceableCollection)>>do: Trait(TraitDescription)>>installTraitsFrom: Trait(ClassDescription)>>uses: Trait class>>named:uses:category:env: TraitsResource>>createTraitNamed:uses: [] in TraitsResource>>setUp BlockClosure>>ensure: SystemChangeNotifier>>doSilently: TraitsResource>>setUp TraitsResource(TestResource)>>initialize TraitsResource class(Behavior)>>new TraitsResource class(TestResource class)>>current TraitsResource class>>resetIfDirty PureBehaviorTest(TraitsTestCase)>>tearDown |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
7781 | Tools | minor | always | 07-24-13 21:16 | 07-24-13 21:16 | FrankShearar | normal | new | none | none | trunk | open | 0 | Weird render bug |
I just noticed this in the dependency browser. Note the right end of the top line, and the left part of the next line. The "withStamp:" is my favourite, where we have half a word normal+blue, and the other half black+bold. The bug disappears as soon as I widen the codepane. I can't reproduce the bug by narrowing the codepane though: the text correctly word-wraps. |
weird-text-render-bug.png (27 KB) 01-01-70 00:33 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
6894 | Kernel | major | always | 02-11-08 02:26 | 07-23-13 11:20 | umejava | normal | feedback | none | none | 3.10 | fixed | 0 | StartUpList order is broken after the Delay patch installation |
If you install DelayStartup changeSet in Squeak, LanguageEnvironment is placed after FileDirectory in StartUpList. However, LanguageEnvironment should precede FileDirectory in start up process, because FileDirectory class >>startUp relies on encoded pathname which must be configured by LanguageEnvironment. This order is dangerous because Squeak fails to start if you move the image to other encoded path platforms (eg. from Mac to Windows). I submit a patch for fix this order. |
3.8.2 & 3.10 has bad ordered list, because of the DelayStartup patch. | FixOrderOfRegisteringStartUpList-mu.1.cs (2 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
4782 | Kernel | minor | always | 09-09-06 12:28 | 07-22-13 10:10 | Krivanek | FrankShearar | normal | resolved | none | none | 3.10 | fixed | 0 | [KernelImageOverride] Warning defaultAction | The current implementation of Warning>>defaultAction is dependent on ToolSet and it starts debugger. The kerenl image doesn't contain tools (including debugger) so the implementation in KI only rises unhandled error (UnhandledError signalForException: self). So it should be override of tools package or it should call special UIManager method. I prefert the first solution. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
6626 | Tools | minor | always | 08-16-07 16:08 | 07-22-13 02:44 | Keith_Hodges | cwp | normal | assigned | none | none | 3.10 | open | 0 | Fixes for Universes | Collect fixes for universes here. |
UniversesMCAndProvidesPatch.1.cs (1 KB) 01-01-70 00:33 UniversesMCAndProvidesPatch.2.cs (1 KB) 01-01-70 00:33 UniversesMCAndProvidesPatch.3.cs (1 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
3216 | Morphic | minor | always | 03-02-06 22:36 | 07-22-13 02:32 | wiz | normal | new | none | none | 3.9 | open | 0 | Typing Cmd-k while over the world is frustratingly and confusingly context sensative. |
In a fresh Squeak 7004. Put the mouse of a clear spot on world desktop. Type Cmd-k A workspace comes up. Type it again. Another workspace. Now move the cursor over one of the workspaces and move it back to its original spot. Type Cmd-k. Instead of a workspace a font type menu pops up. |
This is annoying. I haven't looked at the code. But it would seem that leaving a window morph should clear the keyboard focus so that the font menu does not come up out of context. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7780 | Monticello | major | always | 07-21-13 11:18 | 07-21-13 11:18 | FrankShearar | avi | high | assigned | none | none | 4.4 | open | 0 | Monticello can't handle redirections | http://code.google.com/p/metacello/issues/detail?id=185 [^] describes bootstrapping problems for Metacello, because 4.4 tries to access the old SS3 URLs, which redirect to the new SS3 locations. 4.4 and 4.5 don't (AFAIK) handle HTTP 3xx messages, and bail. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
1300 | Morphic | minor | always | 06-02-05 17:11 | 07-21-13 03:23 | KenCausey | normal | confirmed | none | none | 3.9 | open | 0 | ComicSanMS not working | ComicSansMS is listed in the font and style lists but I can't seem to get it to work in either 3.9-6648 or 3.8-6665. Is it perhaps removed from the image but still in the list accidentally? |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
1792 | Multilingual | minor | always | 09-13-05 20:01 | 07-21-13 02:48 | bert | bert | normal | assigned | none | none | 3.8 | open | 0 | UTF8TextConverter incorrectly reads malformed multi-byte sequences | In an UTF8 multi-byte sequence, the second to last byte need to be of the form "10xxxxxx". This is not checked for by the UTF8TextConverter. It just reads those bytes. However, it must not interpret those bytes as multi-byte sequence, but rather start a new character there. Otherwise, valid characters are skipped. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7779 | Morphic | minor | always | 07-16-13 23:12 | 07-16-13 23:12 | tim | normal | new | none | none | 4.4 | open | 0 | TwoWayScrollPane is obsolete but still used as active |
According to the comment:- "TwoWayScrollPane is now obsolete. You should be able to use ScrollPane to do both vertical and horizontal scrolling. As an example, see Morph>>inATwoWayScrollPane and change the first line to create a ScrollPane instead of a TwoWayScrollPane. It will still work." And indeed it does. We should deprecate/remove/whatever this and mixup the vestigial usages. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7778 | Tools | minor | always | 07-16-13 20:59 | 07-16-13 20:59 | FrankShearar | normal | new | none | none | trunk | open | 0 | ArchiveViewer open across saved/closed/reopened image fails | "Error: stream missing or closed" because, presumably, the FileStream closed during image shutdown. It would be really nice for it to quietly reopen the file, if possible. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7777 | Network | minor | always | 07-12-13 22:15 | 07-12-13 22:15 | tim | normal | new | none | none | 4.4 | open | 0 | HTTPSocket httpJpeg: & httpGif: use archaic api for image decoding |
HTTPSocket methods httpGif: & httpJpeg: seem to use rather archaic messages to get the images decoded. I suspect that it would be cleaner to replace httpJpeg: url "Fetch the given URL, parse it using the JPEG reader, and return the resulting Form." | doc ggg | doc := self httpGet: url. doc binary; reset. (ggg := JPEGReadWriter new) setStream: doc. ^ ggg nextImage. with something more like httpJpeg: url "Fetch the given URL, parse it using the JPEG reader, and return the resulting Form." | doc | doc := self httpGet: url. doc binary; reset. (ImageReadWriter formFromStream: doc) nextImage. for example |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7776 | SUnit | feature | always | 07-11-13 09:12 | 07-11-13 19:01 | FrankShearar | normal | new | none | none | trunk | open | 0 | Investigate outsourcing SUnit to SUnit 5.0 | This would entail removing SUnit and all test packages from the base trunk image, and making #loadWellKnownPackages pull in SUnit from Jan Vrany's repo. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5205 | Kernel | major | always | 10-09-06 05:13 | 06-22-13 00:23 | wiz | normal | resolved | none | none | 3.10 | open | 0 | Versions, sources, and changes. Repairing the current system to eliminate limitations. |
The problem: Squeak periodically runs out of room in the source and change files. The number of files are currently fixed at two. The size of each file is limited at 32M each. Changes can only be added to the second file. While compressing changes and sources works for distibution, not having an image of squeak with the history of all changes from the current source severely hampers maintenence and repair. Conclusion: Squeak needs to have a version source system that does not have these gross limitations. |
So what to do about them. See 0004369 for an enhancement that removes the file size limitation by using the adjunct class to compliled method to reference larger source and changes files. I'm about to argue that this alone is not the best way to solve the problem stated above. The essence of a good solution for me would allow a squeak to have several levels of versions. Each version level would have a source or changes file(s) connected to it. You could compress the lowest level of changes into the next higher version. The other orthoganal aspect of the solution is rather than letting the file size get too large a source or change 'file' would actually be a series of modestly sized files. Part 1, part 2, part 3. etc. Only the growth tip of the changes file changes. So this would allow the separate distribution of an image and (small) changetip with the option of downloading the unchanging sources once when necessary. We do this now by maintaining the sources separate from the changes file. This method would just be an extention of that. The above is the needfully vague user story. The details need to be fleshed out in the implementatiion. I understand the same mechanism that Klaus used to suggest the 512M files could be used to extend sources. The main challenge would be working out a useable naming scheme for the files. Squeak has a wonderful version numbering system already in place that can be used to generate levels. The other necessary challenge is to build this scheme to be as friendly to the past method of doing sources and changes as possible. It will help greatly if old sources and changes are still referencable from within the new scheme of things. I leave this problem here for now in hopes of feedback and support. I've have put the major label on it because it represents a major change and if it is to do the most good the sooner a solution is incorperated the more good it will do. |
ExpandedSourceFileArray-part1-dtl.2.cs (20 KB) 01-01-70 00:33 ExpandedSourceFileArray-part2-dtl.2.cs (1 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7771 | Compiler | minor | always | 06-20-13 09:16 | 06-20-13 14:43 | FrankShearar | normal | new | none | none | open | 0 | Decompiling inlinable message sends as parameters fails |
Foo>>decompilerBug self value: (true ifTrue: [^ true] ifFalse: [^ false]) |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7769 | Tools | feature | always | 06-18-13 14:55 | 06-18-13 14:55 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Add list of used traits to possible place to createMethod |
Martin Dias reports on pharo-dev: Hi I informally reported this "feature requirement" today to Sebastian, but I wanted to post it to all. When the debugger is shown after a MNU, the developer can press the button "Create method". A list of the superclasses is shown to the developer, so he/she can choose in which class crate the method. In addition to superclasses, it would be nice to show the traits that the classes use, since developer might want to create the method there. Cheers, Martín |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7766 | Tools | minor | always | 05-31-13 14:59 | 05-31-13 14:59 | FrankShearar | normal | new | none | none | trunk | open | 0 | Changing a system category name does not mark the PackageInfo as dirty | It really should, given that that action removes all a package's classes! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7765 | System | minor | always | 05-13-13 17:36 | 05-13-13 18:31 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Recategorise SmartRefStream conversion methods | alansTextPlusMorphbosfcebbmsopssrsggshtt0 belongs in *Morphic-Extras, for instance, because that's where TextPlusMorph lives. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7255 | Kernel | feature | always | 12-30-08 12:25 | 05-03-13 21:27 | M8R | FrankShearar | normal | resolved | none | none | fixed | 0 | Add an #ago message to Duration |
Saying "10 minutes ago" is easier than "DateAndTime now - 10 minutes." Duration>>ago ^ DateAndTime now - self |
Duration-ago.st (0 KB) 01-01-70 00:33 Duration-fromNow.st (0 KB) 01-01-70 00:33 DurationTest-testAgo.st (0 KB) 01-01-70 00:33 DurationTest-testFromNow.st (0 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7748 | CI | minor | always | 03-02-13 10:34 | 05-03-13 12:43 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Does the ReleaseBuilder correctly specify the current Squeak version? |
A couple of people have posted interesting things using "4.4 NNNN" where NNNN > 12327, the last 4.4 update. Which ReleaseBuilder is actually running? |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7749 | Any | feature | always | 03-02-13 11:28 | 05-03-13 12:42 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | HeadlessUIManager or CommandLineUIManager | We've isolated most UI stuff behind a UIManager, but there's still a strong assumption of _GUI_ in there. This means that there's no support for handling errors in startup scripts: if something goes wrong, your symptom is a running image. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7754 | Tools | minor | always | 03-08-13 20:51 | 05-03-13 12:41 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Duplicate fixObsoleteReferences |
These (rather long) methods are nearly identical in ReleaseBuilder, ScriptLoader, and SmalltalkImage. SmalltalkImage is a bit more demanding re GC, and double-GCs before the large-chunk-of-sameness. Other than that, the only difference I can see is a logging statement printing to Transcript. Oh, it's worse: ReleaseBuilder also has the same code, except that ReleaseBuilder inspects SystemNavigation default while the other two inspect SystemNavigation default obsoleteBehaviors. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7764 | Traits | major | always | 05-01-13 13:20 | 05-03-13 12:39 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Cannot alias binary message names |
Object subclass: MyObject uses: TMyTrait @ {#* -> #+} <etc> upon accepting is turned into Object subclass: MyObject uses: TMyTrait @ {#*->#+} <etc> which does not parse (because you have a Symbol #*-> followed by rubbish; # is not valid in a Symbol without quotes). |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7752 | Release Packaging | minor | always | 03-06-13 17:04 | 04-30-13 08:49 | pdebruic | FrankShearar | normal | assigned | none | none | open | 0 | make a currentStable.zip and a latest.zip on the ftp server |
Adding a currentStable.zip and latest.zip that inlcude the image, changes, and sources would make it easier to script the creation of the All-In-Ones. They could go here: ftp://ftp.squeak.org/current_stable/ [^] and here: ftp://ftp.squeak.org/current_development/ [^] respectively |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7762 | Tools | minor | always | 04-30-13 08:48 | 04-30-13 08:48 | FrankShearar | normal | new | none | none | trunk | open | 0 | Can't debug quick methods | If a method #isQuick, you can't step into the method. This means you can't edit-and-continue methods that return constants, plain accessors, and similar methods. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7760 | VM | crash | always | 04-13-13 13:22 | 04-18-13 01:21 | lewis | lewis | normal | assigned | none | none | open | 0 | FloatMathPlugin crashes the VM if compiled in 64 bit mode | FloatMathPluginTest pass when VM is compiled 32 bit, but fail when compiled 64 bit. testCos (and probably others) will crash the VM. | Tested on Linux with interpreter VM, but presumably effects all platforms. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7732 | System | minor | always | 01-30-13 12:33 | 03-22-13 13:58 | FrankShearar | FrankShearar | normal | assigned | none | none | open | 0 | !s in a startup script cause SyntaxErrors |
Sample startup demonstrating the problem:# FileStream stdout nextPutAll: '! is an exclamation mark'; flush. which causes a SyntaxError whose content is: FileStream stdout nextPutAll: Unmatched string quote ->' |
Looks like something thinks it's in chunk format or something? |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7758 | Any | minor | always | 03-22-13 13:54 | 03-22-13 13:57 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | On Windows, you cannot specify a startup script with an absolute path |
I have a directory C:\Users\frank\squeak-ci. In that I run rake, kicking off a build. That runs the following shell command - C:/Users/frank/squeak-ci/target/Squeak-4.10.2-2612-src-32/Squeak4.10.2-2612.exe "C:/Users/frank/squeak-ci/target/TrunkImage.image" C:/Users/frank/squeak-ci/update-image.st - from within C:\Users\frank\squeak-ci\target, a dumping ground for various build artifacts. If I instead use ../update-image.st as the startup script, everything works correctly. So a full path to the script fails, while a relative path works. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7757 | Multilingual | major | always | 03-21-13 15:43 | 03-21-13 15:45 | umejava | normal | new | none | none | 4.4 | open | 0 | NaturalLanguageTranslator class >> localeID: causes MNU |
NaturalLanguageTranslator class >> localeID: causes MNU because #cachedTranslations is not implemented. Probably NaturalLanguageTranslator class >> localeID: should delegate to InternalTranslator class >> localeID: for backward compatibility. Currently we can not load legacy .translation files generated from older(4.3 before) LanguageEditor. |
AbstractNaturalLanguageTranslatorLocaleIdFix-mu.1.cs (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7756 | Graphics | minor | always | 03-16-13 17:34 | 03-18-13 16:56 | Nicolai Hess | normal | new | none | none | open | 0 | InputSensor>>cursorPoint: uses primitive 91 (primitiveTestDisplayDepth) |
Looking at the squeakvm source, there was a primitive for setting the cursor position: InputSensor>> cursorPoint: aPoint "Set aPoint to be the current cursor location." ^self primCursorLocPut: aPoint And InputSensor>>primCursorLocPut: aPoint "If the primitive fails, try again with a rounded point." <primitive: 91> ^ self primCursorLocPutAgain: aPoint rounded Curiosly nowadays the primitive 91 is used for testDisplayDepth. There is no primitive for setting the mouse cursor point. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7753 | Morphic | minor | always | 03-08-13 12:20 | 03-08-13 12:20 | Nicolai Hess | normal | new | none | none | 4.3 | open | 0 | NewColorPickerMorph cannot be used for recoloring a SketchMorph or GradientFill |
NewColorPickerMorph can not be used to change colors re erase colors from a SketchMorph. The Menu entries "erase pixels of color" and "recolor pixels of color" raise a DNU. Changing a GradientFill color from within the fill style menu (for any morph) doesn't work as well. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7750 | major | always | 03-05-13 04:51 | 03-05-13 04:51 | pdebruic | normal | new | none | none | open | 0 | No mention of Squeak 4.4 on squeak.org home page |
Squeak 4.4 has been out > 1/6 of a year and the only links to downloads on the home page are to Squeak 4.3. I understand you are making a new site but it seems like you could, in 10 minutes, at least swap out the 4.3 info for something about 4.4 and links to downloads until the new site is live. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7747 | CI | minor | always | 03-01-13 12:30 | 03-01-13 12:30 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Make CI and Magma play nicely together | Magma uses custom resource setup within which it runs its tests. HDTestReport wants to run those tests directly so it can build its results. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7738 | Installer | minor | always | 02-15-13 17:51 | 03-01-13 11:48 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Useless error message when loading an unknown package. |
Installer ss3 project: 'Nutcracker'; addPackage: 'ConfigurationOfNutcracker'; install. results in "attempt to index non-existent element in an ordered collection". Of course the script should say "addPackage: 'ConfigurationOfNutcracker-fbs.2.mcz'". The error should at the least say "Unknown Monticello version 'ConfigurationOfNutcracker' from <url>" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7745 | Tools | feature | always | 02-27-13 11:28 | 03-01-13 10:56 | FrankShearar | FrankShearar | normal | resolved | none | none | fixed | 0 | Allow patterns in #chooseFromClassOrTrait:from: | In a Browser, you can type the prefix of a class. It would be really useful if you could say "MC*Copy". |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7744 | Tools | minor | always | 02-27-13 11:21 | 03-01-13 10:27 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Loading new classes causes Browser to lose your place |
Open a Browser on some class, and then view a method. Open up Monticello, and load something that adds a new class to your image. Browser now only has the system category selected, and has unselected the class and method you were viewing. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7746 | VM | feature | always | 02-27-13 14:25 | 02-27-13 15:07 | lewis | lewis | high | assigned | none | none | open | 0 | Add primitives to support AndreasSystemProfiler. | The interpreter VM is missing the primitives required for support of AndreasSystemProfiler. The primitives are present in Cog and should be added to trunk. |
Problem report: http://jvuletich.org/pipermail/cuis_jvuletich.org/2013-February/000905.html [^] http://lists.squeakfoundation.org/pipermail/vm-dev/2013-February/012220.html [^] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7726 | Installer | minor | always | 01-26-13 22:25 | 02-27-13 11:35 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Installer doesn't trim package names of whitespace |
Installer squeakmap addPackage: 'OSProcess (4.4.11)'; install fails because 'OSProcess ' is not in the cached catalog. |
Possibly it's sufficient to change the search condition in SMSqueakMap >> #packageWithName:ifAbsent: to strip whitespace? |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7743 | Any | tweak | always | 02-27-13 10:42 | 02-27-13 10:42 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | String asPacked/fromPacked: is unused |
MethodFinder is the only sender of these messages. If nothing uses the protocol, it ought to be pulled out into a 45Deprecated package, and later removed. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7742 | Installer | major | always | 02-26-13 09:08 | 02-26-13 09:16 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Installer matches package versions by prefix |
Given a package-cache with files Collections-fbs.489.mcz, Collections-fbs.483.mcz and Collections-fbs.482.mcz, running Installer cache install: 'Collections-fbs.48' will install Collections-fbs.489.mcz, the highest numbered package whose version name starts with 'Collections-fbs.48'. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
6828 | VM | minor | N/A | 12-27-07 23:05 | 02-23-13 18:48 | tim | lewis | normal | assigned | none | none | 3.9 | open | 0 | make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs |
From: lewis@mail.msen.com November 18, 2007 4:18:45 PM PST (CA) This is a set of support code patches that make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs, plus a unit test for verification. FileCopyPluginTest-dtl.cs provides a unit test to verify operation of the FileCopyPlugin. Interestingly, the FileCopyPlugin has never worked correctly on Unix because it answered a primitiveFail after a successful copy operation. That means that the primitive code was doing the copy, and the fallback code would re-do it afterward. The support code changes are in the following files: - For all platforms (unix and Mac OS are impacted): platforms/Cross/plugins/FileCopyPlugin/FileCopyPlugin.h - For Unix: platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c platforms/unix/vm/sqUnixCharConv.c platforms/unix/vm/sqPlatformSpecific.h - Mac OS platform code will need an update also, but I did not try to do this (it should be simple, but I cannot test the result). - Win32 and RiscOS do not appear to be impacted. Dave |
FileCopyPluginFixes.zip (5 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7739 | block | N/A | 02-20-13 12:31 | 02-20-13 12:31 | Saijanai | normal | new | none | none | open | 0 | want to be able to do things like GC timing tests |
I'd like to be able to create and run benchmarks for the remote image. Create new methods for existing classes. Create new classes. Create new instances of objects and run methods remotely. Etc. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7736 | CI | minor | always | 02-12-13 10:38 | 02-12-13 10:38 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | The "no sources file" dialog breaks automation |
If you try launch an image and the image can't find a sources file it pops up a modal dialog complaining about the missing file. If you're running your image as a script, you don't see the dialog. You just see a hung process. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7672 | Browser | minor | always | 09-09-11 21:04 | 02-12-13 09:42 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | #selectedClassOrMetaClass can return nil, and its callers don't check for nils. | Using multiwindow browsers, open up a browser on a class Foo. Make a method, bar. Make a new window. Rename Foo. Go back to first window: MNU - nil doesn't understand #compiledMethodAt:ifAbsent: in #selectedMessage, because selectedClassOrMetaClass returns nil, because the formerly-selected class is no more. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7722 | Monticello | minor | always | 01-21-13 21:26 | 02-12-13 09:39 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | InstallerMonticello >> #project: should use FileDirectory slash |
(mc respondsTo: #directory:) ifTrue: [ mc := mc copy directory: root ,'/', name ]. Not '/'. FileDirectory slash. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7725 | Collections | minor | always | 01-25-13 17:24 | 02-12-13 09:35 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | String >> #asCamelCase needs tests | http://permalink.gmane.org/gmane.comp.lang.smalltalk.squeak.general/166142 [^] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7735 | Installer | minor | always | 02-11-13 19:51 | 02-11-13 19:51 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Installer squeakmap ought to build SM cache if not already present | Otherwise, you need to perform a UI action before you can run any `Installer squeakmap` action. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7728 | Exceptions | minor | always | 01-26-13 23:49 | 02-08-13 13:03 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Move FTPConnectionException to somewhere more appropriate | Exceptions-Kernel is not the right place. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7730 | Tools | minor | always | 01-29-13 10:36 | 02-08-13 13:00 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Browser's recently used class list shouldn't include currently viewed class | This is the RecentClasses list: when you build the menu, if the top entry is Foo and you're browsing Foo, just leave it off. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7734 | Tools | minor | always | 02-06-13 11:09 | 02-06-13 11:09 | FrankShearar | normal | new | none | none | trunk | open | 0 | TimeProfileBrowser MNU on non-method lines |
TimeProfileBrowser is a MessageSet that lists a bunch of messages for its performance data, as well as lines for the other output given by profiling: GC stats, marker lines like "** Leaves **" and so on. Clicking these latter lines often raises an MNU because TimeProfileBrowser doesn't understand #shoutParserClass. |
Presumably #selectedMessageName needs tweaking, because this method determines whether or not the contents pane is styled. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7733 | System | major | always | 01-31-13 19:39 | 01-31-13 20:13 | vaidasd | normal | new | none | none | 4.4 | open | 0 | If anti-virus is active, browsing Implementers is very slow. |
If anti-virus is active, browsing Implementers is very slow. Windows 7 64 bit, Cog Dec 12, 2012 bottleneck in method CurrentReadOnlySourceFiles>>defaultAction slow part is accessing changes file: time to run: [SourceFiles second readOnlyCopy] is ~ 100 ms. Caching is introduced here some time after 4.1. On XP 32 bit without antivirus there is no issue. http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/168052.html [^] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7731 | Tools | minor | always | 01-29-13 13:53 | 01-29-13 13:53 | FrankShearar | normal | new | none | none | trunk | open | 0 | Creating a class with an empty category |
Object subclass: #NameOfSubclass1 instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: ''. Creates an object in a category called ''. It should raise an error. (Thanks to Sean P. DeNigris @ http://code.google.com/p/pharo/issues/detail?can=2&q=7354&colspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty&id=7354) [^] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7729 | Tools | minor | always | 01-28-13 18:59 | 01-28-13 18:59 | FrankShearar | normal | new | none | none | trunk | open | 0 | SMLoaderPlus needs non-stretchy buttons | If you stretch one vertically, the buttons resize in an unsightly manner. See Browser's use of LayoutFrames to do it right. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7709 | System | minor | always | 12-21-12 14:15 | 01-25-13 23:04 | Lars | FrankShearar | normal | resolved | none | none | fixed | 0 | Image Segments can't be written to file anymore |
ImageSegment new copyFromRoots: (Array with: TestCase) sizeHint: 100; extract; writeToFile: 'TestCase'; yourself raises an error in writeToFile: aName because the standard nextPutAll: tactic has changed. The assumption is, that any file will be written with either aByteArray or some UTF8-String. The forward solution of appending MultiByteFileStream>>nextPutAll: is attached. |
MultiByteFileStream-nextPutAll.st (0 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7724 | Environments | minor | always | 01-25-13 17:10 | 01-25-13 18:45 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Environment>>bindingOf: needs Undeclared tests |
Tests for: "Environment>>bindingOf: must not answer undeclared bindings. E.g., in my case a binding in undeclared shadowed a perfectly fine class variable higher up in the class hierarchy." http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/167794.html [^] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7720 | VM | minor | always | 01-19-13 01:37 | 01-23-13 09:07 | nicolas cellier | lewis | normal | assigned | none | none | trunk | open | 0 | FFI silently accept a 64bits argument > LLONG_MAX instead of failing |
1. Create a FFI call to a function taking a signed long long (64 bits) integer 2. Call the function with (1<<63) A well behaved FFIPlugin should fail, because 1<<63 is greater than maximal representable signed long long (presumably 1<<63-1 in two complement). But instead of failing, FFI interpret 1<<63 as a negative int, which is a bad feature. |
This is caused by FFIPlugin>>#ffiPushSignedLongLongOop: which omit to test this case of LLONG_MAX overflow... Note that COG version (ThreadedFFIPlugin>>#ffiPushSignedLongLongOop:in:) is correct because it uses #signed64BitValueOf: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7723 | Monticello | minor | always | 01-21-13 22:39 | 01-21-13 22:39 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | MCFileBasedRepository doesn't handle the case of a missing file |
#versionReaderForFileNamed:do: just lets deeper layers throw a FileNotFoundException. To provide a uniform error handling API, it should catch this and throw an MCError (see recent Inbox submission for this class definition). |
versionReaderForFileNamed: aString do: aBlock ^ [self readStreamForFileNamed: aString do: [:s | (MCVersionReader readerClassForFileNamed: aString) ifNotNil: [:class | aBlock value: (class on: s fileName: aString)]]] on: FileDoesNotExistException do: [self error: 'File ', aString, ' does not exist']. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
7719 | Tools | minor | always | 01-17-13 14:11 | 01-21-13 10:37 | Bob Arning | lewis | normal | resolved | none | none | 4.4 | fixed | 0 | FileContentsBrowser erroneously adds to current change set |
I'm not sure how many folks still use FileContentsBrowser, but there is a small issue: browseStream: aStream named: aString | browser | Cursor wait showWhile: [ | package packageDict organizer | packageDict := Dictionary new. browser := self new. organizer := SystemOrganizer defaultList: Array new. package := (FilePackage new fullName: aString; fileInFrom: aStream). packageDict at: package packageName put: package. organizer classifyAll: package classes keys under: package packageName. (browser := self systemOrganizer: organizer) packages: packageDict]. self openBrowserView: browser createViews label: 'File Contents Browser'. which soon leads to SystemOrganizer classify: element under: newCategory | oldCategory class | oldCategory := self categoryOfElement: element. super classify: element under: newCategory. class := Smalltalk at: element ifAbsent: [^ self]. SystemChangeNotifier uniqueInstance class: class recategorizedFrom: oldCategory to: newCategory which causes all known classes in the file being browsed to be added to the current change set as having a class definition change. Perhaps it makes sense to do the notification only if this SystemOrganizer is actually SystemOrganization. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7721 | System | minor | always | 01-20-13 15:12 | 01-20-13 16:50 | FrankShearar | normal | new | none | none | open | 0 | An image whose changes file has been deleted cannot quit |
Open some image. Delete its changes file. Try quit. Whether you choose "yes" or "no" to "Save changes before quitting?" you get a prim failure as the image tries to save its changes to a file that's not there anymore. Correct behaviour: Try write the file, but if that fails, just quit. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7718 | Network | tweak | N/A | 01-16-13 15:07 | 01-16-13 15:07 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | HTTPSocket class >> #httpRequest:url:headers:content:response: should not parse URLs | We have a perfectly good URL parser in the URL class. We should use it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7717 | Release Packaging | minor | always | 01-15-13 13:25 | 01-15-13 13:25 | FrankShearar | FrankShearar | normal | assigned | none | none | open | 0 | ReleaseBuilder class >> #transferCurrentPackagesAsUser:password: must create an update map | An update stream needs an initial MCM explaining what packages are in the stream. This method's the obvious place to generate the configuration map. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3493 | Kernel | minor | always | 04-21-06 22:48 | 01-08-13 21:44 | nicolas cellier | normal | new | none | none | 3.9 | open | 0 | printing a float in base 16 is broken sometimes |
See this example: "this should be the maximum floating point value in IEEE 754 double precision" (Number readFrom: ((String new: 100) writeStream nextPutAll: '2r1.'; next: 52 put: $1; nextPutAll: 'e1023'; contents)) printStringBase: 16. "will print as 16r1.0e255" (Number readFrom: ((String new: 100) writeStream nextPutAll: '2r1.'; next: 52 put: $1; nextPutAll: 'e1020'; contents)) printStringBase: 16. "will print as 16r2.0e255, twice the first number when it should be 1/8..." |
Well, in base (2 raisedTo: Integer anyPositive), printString should be exact... First number is exactly 16rF.FFFFFFFFFFFF8e255 and last is exactly 16r1.FFFFFFFFFFFFFe255 if exponent is written in base 10, or same mantissa with exponent eFF in base 16... Note that absPrintExactlyOn:base: will give correct answer. Rounding should better not be used, because printed number would answer Infinity when read back... But if it where used correctly, then the answers would be: 16r1.0e256 and 16r2.0e255 |
Kernel-Numbers-PrintFloatBase16Patch.1.cs (3 KB) 01-01-70 00:33 FloatPrintBase16-M3493-Test.1.cs (2 KB) 01-01-70 00:33 FloatPrintStringBase2-M3493-Test.1.cs (1 KB) 01-01-70 00:33 FloatPrintStringBase2-M3493-Test.2.cs (1 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7694 | Graphics | major | always | 07-12-12 11:48 | 01-05-13 22:00 | caw | andreas | normal | assigned | none | none | open | 0 | Buggy drawing of text by Pen class under OSX |
OSX 10.7.4 Squeak 3.4 update #11860 Display restoreAfter: [Pen new squareNib: 2; color: Color red; turn: 45; print: 'The owl and the pussycat went to sea in a beautiful pea green boat.' withFont: TextStyle defaultFont] draws text at the correct angle, but the text is patterned same for defaultNib:1 screen dump uploaded any help appreciated! thanks Chris |
squeak_pen.png (634 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7714 | System | minor | always | 01-02-13 22:54 | 01-03-13 17:20 | FrankShearar | normal | new | none | none | trunk | open | 0 | DataStream class >> #initialize references Smalltalk | This should use the/an environment. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7703 | Compiler | minor | always | 08-21-12 06:59 | 01-03-13 09:51 | kwl | normal | resolved | none | none | 4.3 | fixed | 0 | During fileIn, Parser>>notify:at: has Error: subscript is out of bounds: 73 |
Filing in, from source code which has typo in the last position (inadvertedly typed a > behind last valid expression). When Parser wants to report, it has a problem with arguments for Text>>copyReplaceFrom:to:with:. |
The typo can be seen in the first ByteString in the attached SqueakDebug.log. .image: Squeak4.3.image latest update: #11860 VM: Squeak3.10.2 of 11 February 2010 [latest update: #9314] Win32 built on Jul 27 2010 20:35:19 Compiler: 2.95.2 19991024 (release) |
SqueakDebug.log (16 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7605 | VM | crash | always | 02-03-11 18:21 | 01-02-13 21:29 | leves | lewis | normal | resolved | none | none | trunk | fixed | 0 | VMs assume that Float have two slots and don't check it which may lead to problems |
Currently Floats are variableWordSubclasses usually with two slots. But users can create them with any size. A possible typo is to use Float new instead of Float new: 2. If the VM assumes that the size of these objects is 2 without checking it, it leads to various issues. The following code crashes CogVM (r2349) immediately: f := Float new. Array new. f at: 1 put: 0. Cog overwrites the header of the Array created after the Float, then realizes the problem (last object overwritten) and crashes. SqueakVM is safe for this example, but some primitives are not. The following returns a random number (based on the contents of the memory) using SqueakVM: Float new ln It may also crash the VM, though the chance is small. |
I'm pretty sure that performance is the reason to assume that Float's have two slots. To avoid sacrificing it, the best may be to update the image side code to always create Floats with two slots. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7711 | SqueakMap | major | always | 12-27-12 13:34 | 01-01-13 21:31 | FrankShearar | gokr | normal | assigned | none | none | open | 0 | Cannot update install scripts |
I made a mistake in the install script when releasing the Zippers package [1]. I tried to upload a new, corrected, version of the script [2]. Things look OK, in that I can see the file being uploaded. However, downloading the "new" version shows that SqueakMap has not overwritten the file. [1] http://map.squeak.org/account/package/94f09ced-8eee-4c60-b894-64c07c44c5c5/editreleases [^] [2] http://map.squeak.org/accountbyid/7d14beff-c6b5-40fe-b47b-625d54519641/files/install-Zippers-1.0.st [^] |
The file SHOULD say Installer ss3 install: 'ConfigurationOfZippers'. (Smalltalk at: #ConfigurationOfZippers) load. but says this: Installer cache install: 'ConfigurationOfZippers'. (Smalltalk at: #ConfigurationOfZippers) load. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7713 | Release Packaging | minor | always | 01-01-13 21:25 | 01-01-13 21:25 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Updating from an update stream that has no mcms fails |
MCMcmUpdater class >> #updateListFor: examines an update stream for updates (files of the form update-initials.NNNN.mcm). If it finds none, it returns an empty collection. That's fine. However, MCMcmUpdater class >> #updateFromRepositories: then returns nil. Utilities class >> #updateFromServer reports this nil as (as far as the user can tell) an error, saying "Unable to retrieve updates from remote repository." Technically true - there ARE no updates - but rather misleading. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7712 | Morphic | minor | always | 12-28-12 18:53 | 12-28-12 19:28 | garydunnhi | normal | new | none | none | 4.4 | open | 0 | Proposed change in setting text attributes |
Yellow-click on selected text pops up a menu that includes set font ... (k) set style ... (K) set alignment ... (u) The first two options lead to different ways to set the font, but not to set what I consider style, that being attributes like bold and italic. Recommend that "set style" bring up the same menu as Brown FF on the halo. Even better, a modified version of the Brown FF menu that excludes alignment choices. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7708 | SqueakMap | minor | always | 12-21-12 10:55 | 12-27-12 13:31 | hirzel | FrankShearar | normal | resolved | none | none | 4.4 | fixed | 0 | Zippers package is shown in SqueakMap for 4.4. but does not load |
Frank Shearar's 'Zippers' package http://ss3.gemstone.com/ss/Zippers.html [^] is shown as a loadable SqueakMap entry for 4.4 However if I press 'Install' two dialog boxes 'The package has no published release for your Squeak version, try releases for any Squeak version' appear. After confirming to times with 'Yes' (= I still want to load it) nothing seems to happen.... |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7710 | CI | minor | always | 12-21-12 14:43 | 12-21-12 14:43 | FrankShearar | FrankShearar | normal | assigned | none | none | open | 0 | Builds do not record changes since the last build |
Because we track the git repo of the scripts, we just see something like No changes Revision: 239bb0d6733d473b9fc39d99b33ce5dc1f7884dc origin/master Which is utterly useless. Really what we want to see is the list of MC versions added since we last ran a build. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4818 | Kernel | minor | always | 09-09-06 16:45 | 11-29-12 13:19 | Krivanek | normal | feedback | none | none | 3.10 | open | 0 | [KernelImageOverride] InputSensor userInterruptWatcher |
InputSensor >> userInterruptWatcher original: userInterruptWatcher "Wait for user interrupts and open a notifier on the active process when one occurs." [true] whileTrue: [ InterruptSemaphore wait. Display deferUpdates: false. SoundService default shutDown. Smalltalk handleUserInterrupt] override: userInterruptWatcher "Wait for user interrupts and open a notifier on the active process when one occurs." [true] whileTrue: [ InterruptSemaphore wait. Display deferUpdates: false. Smalltalk handleUserInterrupt] Sound dependent code removed |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7706 | Tools | minor | always | 08-30-12 20:36 | 08-30-12 20:36 | FrankShearar | normal | new | none | none | trunk | open | 0 | TestRunner doesn't remove from its test list TestCases that are deleted | Given a FooTest TestCase visible in a TestRunner. Remove FooTest from the system. See it visible (but unselected) in the list of tests. If you select it, TestRunner will fail everything with obsoleted TestCases. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7704 | Tools | minor | always | 08-29-12 21:04 | 08-29-12 21:04 | FrankShearar | normal | new | none | none | trunk | open | 0 | MCSnapshotbrowser: cannot resize panes | Unlike a Browser, you can't make the lower CodeHolder's morph larger by shrinking the upper section of the UI. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7702 | Files | minor | always | 08-16-12 19:48 | 08-16-12 19:48 | FrankShearar | normal | new | none | none | trunk | open | 0 | FileList2 doesn't refresh directory listings | If you're in a directory, "add new directory". You won't actually see the directory until you close that node in the tree list and reopen it. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7681 | Release Packaging | minor | always | 11-21-11 01:54 | 08-16-12 14:57 | mikevdg | FrankShearar | normal | assigned | none | none | 4.2 | open | 0 | squeak.sh does not require bash. |
In squeak.sh in the Squeak 4.2 all-in-one package, the hash-bang should use /bin/sh rather than /bin/bash. I don't actually have bash installed by default on the awesome Linux distro I use (Slitaz Linux). Change: #!/bin/bash to: #!/bin/sh |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7700 | Tools | minor | always | 07-26-12 09:36 | 08-16-12 14:54 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Some tests require user input |
Some tests require author initials set, which is... not good from an automation perspective. Perhaps TestRunner should, as part of its "run tests" setup, set the initials if not already set. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7698 | Tools | minor | always | 07-18-12 21:35 | 08-16-12 14:54 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Debugger, hit "debug" and window resizes |
Something goes wrong. Pink debugger pops up. I resize the window. I select an interesting looking part of the stack. The window reverts to its original size. It shouldn't: even if it's a whole new SystemWindow, it's apparently/ostensibly the same window, and should keep its new size. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
6830 | Kernel | major | always | 12-28-07 21:38 | 08-14-12 00:30 | orgsow | leves | normal | feedback | none | none | 3.10 | reopened | 0 | A mutex can wind up with a semaphore with more than 1 excessSignal |
I am new to smalltalk and was playing around with processes to see how they work and I've encountered something that should never happen. It may be related to this bug: http://bugs.squeak.org/view.php?id=6576 [^] since I am using Delay. The semaphore in a mutex should never go above 1 excess signal. This script here will cause that to happen if you put it into a Transcript window and "do it": START |p keepGoing i t resume suspend stop semcounts m | m := Mutex new. p := Processor activeProcess.keepGoing := true.i := 0.t := Transcript.m critical: [t cr;cr;cr;cr;cr.]. m critical: [ t cr; show: 'init: ', Processor activeProcess oopString; cr]. semcounts := ''. semcounts := 'init:', m excessSignals asString, ' ', semcounts. resume := [ m critical: [ t cr; show: 'resume: ', Processor activeProcess oopString; cr]. semcounts := 'resume1:', m excessSignals asString, ' ', semcounts. (Delay forSeconds: 20) wait. m critical: [ t cr; show: 'resuming'; cr. p resume]. semcounts := 'resume2:', m excessSignals asString, ' ', semcounts. ]. suspend := [ m critical: [ t cr; show: 'pause: ', Processor activeProcess oopString; cr]. (Delay forSeconds: 10) wait. m critical: [ t cr; show: 'pausing'; cr. p suspend]. semcounts := 'suspend:', m excessSignals asString, ' ', semcounts. ]. stop := [ m critical: [ t cr; show: 'stop: ', Processor activeProcess oopString; cr]. (Delay forSeconds: 30) wait. m critical: [ t cr; show: 'stopping'; cr. keepGoing := false]. semcounts := 'stop:', m excessSignals asString, ' ', semcounts. ]. resume fork. suspend fork. stop fork. m critical: [ t cr; show: 'end: ', Processor activeProcess oopString; cr]. semcounts := 'end:', m excessSignals asString, ' ', semcounts. [keepGoing] whileTrue: [ m critical: [t show: i; space]. "Processor yield." i := i + 1]. semcounts := 'beforedone:', m excessSignals asString, ' ', semcounts. (Delay forSeconds: 10) wait. m critical: [ t cr; show: 'done.';cr.]. semcounts := 'done:', m excessSignals asString, ' ', semcounts. Transcript show: semcounts asString. END The output of the last line is: done:2 beforedone:2 stop:1 resume2:1 suspend:1 resume1:0 end:1 init:1 I have ran a version of this that stores the mutex in the Smalltalk dictionary for reuse and if it's reused it hangs the system. Infact, that's why I originally started trying to figure out what was going on because it was hanging on the second run every time. Also, notice the commented out "Processor yield." If you uncomment that then the program will function as expected (ie, excessSignals will not go over 1.) That may help diagnose the problem. This happens in 3.9 and 3.10 |
I added 2 methods to the system to expose excessSignals. You need to fileIn the attatched change set to get them, or you can add them manually from here: !Mutex methodsFor: '*miles-debug' stamp: 'mbg 12/28/2007 13:19'! excessSignals ^semaphore excessSignals.! ! !Semaphore methodsFor: '*miles-debug' stamp: 'mbg 12/28/2007 13:19'! excessSignals ^excessSignals.! ! |
miles-debug.1.cs (1 KB) 01-01-70 00:33 mutex_bug.st (2 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7701 | VM | crash | always | 08-03-12 00:07 | 08-08-12 11:59 | lewis | lewis | normal | resolved | none | none | fixed | 0 | Pulse audio Scratch plugin causes seg fault on 64bit Ubuntu installation |
Date: Thu, 2 Aug 2012 17:36:42 -0400 From: Amos Blanton <amos@scratch.mit.edu> To: Squeak Virtual Machine Development Discussion <vm-dev@lists.squeakfoundation.org> Subject: [Vm-dev] Pulse audio Scratch plugin causes seg fault on 64bit Ubuntu installation To reproduce: 1. Execute Scratch using current VM and pulse plugin (on Ubuntu 12.04, 64 bit system): Executing: /usr/lib/squeak/4.4.7-2357/squeakvm -encoding UTF-8 -vm-display-x11 -xshm -plugins /usr/lib/scratch/plugins/:/usr/lib/squeak/4.4.7-2357/ -vm-sound-pulse /usr/share/scratch/Scratch.image (There is no pulse plugin in /usr/lib/scratch/plugins in my installation package, so it must be using the one in /usr/lib/squeak/4.4.7-2357) 2. Click "Sounds" tab, click play icon next to meow. That results in: Segmentation fault 10273532 [] in SoundPlayer class>playLoop 10262332 Semaphore>critical: 10262240 SoundPlayer class>playLoop 10273228 [] in SoundPlayer class>startPlayerProcessBufferSize:rate:stereo: 10273320 [] in BlockContext>newProcess Aborted (core dumped) Note that the same package on 32 bit systems does not produce the error (playback and recording both work). The issue is also described here: https://bugs.launchpad.net/ubuntu/+source/squeak-vm/+bug/1009080 [^] If someone can take a look and patch this, we'd very much appreciate it! This is the last major (known) issue we've got with Scratch running on Ubuntu. -Amos |
sqUnixSoundPulseAudio.c (32 KB) 01-01-70 00:33 audioIO_t-alignment.txt (1 KB) 01-01-70 00:33 platforms-unix-sound-pulse-sqUnixSoundPulse.c.tar (40 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7697 | Tools | minor | always | 07-18-12 20:14 | 07-26-12 06:57 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Deleting a method in a MessageSet doesn't highlight another method |
If you're viewing implementors-of some stale method, you can't repeatedly alt-x to delete all the methods: you have to alt-x, down, up, alt-x. If there's only one method, you have to click the method. It looks almost like another method's selected - the "newly selected" method is light blue - but a "really selected" method is dark blue. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7699 | Tools | minor | always | 07-20-12 08:45 | 07-26-12 06:56 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Deleting a system category jumps list to the beginning | This breaks flow. Instead, just try select the same-index category in the new list, if possible. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7693 | Kernel | minor | always | 07-10-12 01:18 | 07-10-12 02:41 | jrm | lewis | normal | resolved | none | none | 4.2 | fixed | 0 | DateAndTime readFrom: does not recognize $Z as a valid timezone designator. | Method readFrom: in Class DateAndTime needs modification in order to interpret $Z as a valid time zone designator. | Change set with modified method and associated test attached. | DateAndTime.1.cs (3 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7689 | XML-Yaxo | minor | always | 02-19-12 01:09 | 07-06-12 22:41 | jrm | normal | new | none | none | 4.1 | open | 0 | XMLDOMParser drops information |
Squeak 4.1 #9957 Inspect: XMLDOMParser parseDocumentFrom: (ReadStream on: ' <links> <link type="mediaselector">http://www.bbc.co.uk/mediaselector/4/mtis/stream/b006tm9y</link> [^] </links>') --- elementsAndContents displays: <links> <link type="mediaselector"/> </links> |
The example is a snippet of XML from 'http://www.bbc.co.uk/radio/aod/availability/radio4extra.xml'. [^] The same result occurs when processing the entire file. I created this smaller example hoping I could debug the code, but I get lost in parseDocument. If the example is modified to includ a #> after the the string <link, I get results more like what I expect. I ran the URI through an XML validator at http://validator.w3.org [^] and it passed. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7692 | Documentation | minor | always | 06-19-12 01:31 | 06-19-12 01:31 | edward | casey | normal | assigned | none | none | trunk | open | 0 | Opening morphic halos on OSX is opt-click |
Opening up morphic halos on OSX (Mac) is done by opt-click and not cmd-click as the documentation states. Here’s a screenshot of what I’m talking about: http://cl.ly/0F0g1t3v0A121V0y3D1v [^] (I’m super new to Smalltalk and Squeak – is there a place where I can just write a patch? How do I do that?) |
Screen Shot 2012-06-18 at 9.28.46 PM.png (29 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7691 | VM | major | always | 04-27-12 12:24 | 04-28-12 00:32 | lewis | lewis | normal | resolved | none | none | fixed | 0 | JPEGReadWriter2Plugin off-by-one bug crashes VM |
Fix for an off-by-one bug is provided on vm-dev: http://lists.squeakfoundation.org/pipermail/vm-dev/2012-April/010470.html [^] Diagnosed and fixed by Páhi András pahia at t-online.hu Confirmed by Juan Vuletich |
Fix is for the generated plugin (VMMaker), provided as C code. Need to incorporate back into the SLANG. | JPEGReadWriter2Plugin.c (21 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7690 | minor | always | 02-19-12 09:43 | 02-19-12 09:43 | edgardec | normal | new | none | none | open | 0 | [ENH] Improve the browsing of the remote .image |
OtherBrowser>>#potentialClassNames potentialClassNames "Answer the names of all the classes that could be viewed in this browser. This hook is provided so that HierarchyBrowsers can indicate their restricted subset. For generic Browsers, the entire list of classes known to Smalltalk is provided, though of course that really only is accurate in the case of full system browsers." ^ wormhole classNames I sugest override findClass and add logic for when you hit the browser button only see the classes in the remote image. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7687 | FFI | minor | always | 01-22-12 11:24 | 01-22-12 11:24 | Hans-Martin | andreas | normal | assigned | none | none | 4.2 | open | 0 | Incompatibility between OpenGL extension management and threaded FFI |
The threaded FFI introduces an inst var "stackSize" in ExternalFunction. normally this variable gets assigned -1 in the threaded function invocation (ThreadedFFIPlugin>>#ffiLoadCalloutAddress:). However, if the handle of the external function is being set using a different mechanism (such as the OpenGL extension manager) the stackSize inst var is not being set but stays at its initial value 0, which causes an error FFIErrorCallFrameTooBig to be signaled. Attached is a fix (sets stackSize to -1 when a new handle is assigned). |
ExternalFunction-setHandle.st (0 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7686 | VM | crash | always | 01-20-12 14:53 | 01-20-12 19:08 | luki | andreas | normal | assigned | none | none | 4.1 | open | 0 | Crash in Windows Squeak VM 4.1.1 |
Steps to reproduce: * downloaded the pristine Cuis 3.3 image (Cuis3.3-1024.zip) * start the Windows Squeak VM 4.1.1 from Jul 27 2010 * click on maximize button of the Squeak VM window. The fatal VM error message box appears. The crash is 100% reproducible on my machine. The system is Windows 7 Professional 64 bit, my primary display is 1280x1024, secondary display is 1920x1080. The crash happens when the Squeak window is positioned on either primary or on secondary display. |
crash.dmp (15 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7685 | Morphic | major | always | 01-13-12 15:43 | 01-13-12 16:26 | unoduetre | normal | new | none | none | 4.2 | open | 0 | Two (maybe unrelated) bugs with morphs layout |
Consider the following code (do not run it yet): "step1" morph1:=Morph new. morph1 position: 100 @ 100. morph1 extent: 100 @ 100. morph1 color: Color blue. morph1 layoutPolicy: TableLayout new. morph1 openInWorld. "step2" morph2:=Morph new. morph2 height: 75. morph2 color: Color red. morph2 hResizing: #spaceFill. morph1 addMorph: morph2. "step3" morph3:=Morph new. morph3 position: 175 @ 100. morph3 height: 50. morph3 color: Color green. morph2 addMorph: morph3. "step4" morph1 width: morph1 width + 25. "step5" morph1 width: morph1 width + 25. Now in the Workspace run step1, step2, step3 and step4, but do NOT run them at once. You should see what is in the image Bug1.gif (attached). This is wrong because of morph2 hResizing: #spaceFill. Now if you do step5 you will see what is in the image Step5.gif You should notice the big jump by 50 pixels (instead of 25). The source of this bug is the following line cellBounds = self fullBounds ifTrue:[^self]. "already up to date" in Morph>>layoutInBounds: Now please consider the second bug. Run step1, step2, step3 at once in workspace. You should see what is in the image Bug2.gif |
Bug1.gif (1 KB) 01-01-70 00:33 Step5.gif (1 KB) 01-01-70 00:33 Bug2.gif (2 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7683 | Morphic | text | always | 12-18-11 21:48 | 12-20-11 01:54 | seandenigris | normal | new | none | none | trunk | open | 0 | Morph>>stepTime Comment: explain that it's only a recommendation | See http://forum.world.st/Implementing-a-simple-timer-td4202411.html [^] | Morph-stepTime.st (0 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7656 | Kernel | minor | sometimes | 08-11-11 18:21 | 12-16-11 13:49 | wiz | low | new | none | none | trunk | open | 0 | User interrupts key does not always work the first time it is pressed. |
I have only anecdotal evidence at present. When running a buggy program that does not stop, pressing user interrupt usually does not work. Often it doesn't work until the third press and then a predebug box comes up saying we have interrupted the finalization process. This stops the runaway calculation. With out doing anything else that I am aware of and after some time has passed, two other predebug boxes pop up. One of which seems associated with the original runaway process. |
So my speculation is that the first time the interrupt key is pressed it is noted but it doesn't stop anything. The second time it interrupts the debug process but doesn't stop anything either. The third time it interrupts the finalization process and that brings other things to a halt giving the vm some breathing room. Then it catches up with the notifications probably in reverse chronological order. Can anyone confirm, contradict or add to these observations? |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7680 | OS-Mac | major | have not tried | 11-17-11 21:55 | 12-06-11 19:00 | dennisdjensen | normal | new | none | none | 4.2 | open | 0 | MultiByteFileStream(StandardFileStream)>>primSize: failed |
On a freshly downloaded All-In-One Squeak v4.2, whenever I Do-It or Inspect on a piece of code - whether in a Workspace or in a tutorial from the help browser (on XML) where I found it first - I get the error on #primSize: in the summary. When I open the debugger, it looks like this, where id is nil: primSize: id "Answer the size of this file." <primitive: 'primitiveFileSize' module: 'FilePlugin'> self primitiveFailed In the tutorial (the only one on XML), I tried to inspect (CTRL-i) this piece of code: | doc | doc := HTTPClient httpGetDocument: 'http://source.squeak.org/trunk/feed.rss'. [^] XMLDOMParser parseDocumentFrom: (ReadStream on: (doc content)). It does not matter what the code is, however. Even something as simple as 2 + 2, and choosing Print-it, results in the same error. However, when I do Transcript show: 'Hello, World!'; cr. in a Workspace, the transcript window _does_ show the string and return carriage, although the same error pops up! I am a rookie, and have never used Squeak or any other Smalltalk system before, although I do know a bit about Smalltalk from books and articles. This is serious enough to make the whole system unusable for me. Is there any consensus about what to do in such situations? Should I update squeak as a work-around, unless there is a simple work-around or a configuration that can be done? I have a laptop with Windows 7 I intend to try the All-In-One installation on as well, and see if the same issue can be reproduced. |
SqueakDebug.log (8 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7678 | Tools | minor | always | 11-16-11 05:14 | 12-06-11 14:49 | jgon | leves | normal | resolved | none | none | trunk | fixed | 0 | Pressing enter in an empty selector browser that has been edited brings up a debugger |
When using the selector browser you can enter text in the search field and the field will be marked as edited. If you then delete all of the text out of the search field it will still be marked as edited, and if you hit enter to accept the search a debugger will pop up. This happens because the contents:notifying: method does not guard against getting a list of tokens that is empty. |
My fix for this issue just does the simplest thing, which is guard against an empty list of tokens. Not knowing much about the selector browser I am not sure if there is a better fix for this. | Tools-jmg.386.mcz (528 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7645 | VM | minor | always | 06-08-11 13:37 | 11-17-11 02:20 | seandenigris | lewis | normal | resolved | none | none | fixed | 0 | OSProcess tests hang on Mac Cocoa VM (5.7.4.1) |
From http://forum.world.st/OSProcess-on-1-2-tp3569458p3569458.html [^] : > For the Cocoa VM (5.7.4.1), TestRunner hangs again. One hanging test was > UnixProcessTestCase>>testClassForkHeadlessSqueakAndDo on "[p isRunning] whileTrue: [(Delay > forMilliseconds: 100) wait]." >These were the values for that VM: > #('CommandShell versionString ==> 4.4.15' 'OSProcess versionString ==> 4.4.2' > 'UnixOSProcessPlugin 6 February 2011 (e)' 'OSPP versionString ==> 4.4.3' 'nil' 'AIO plugin > versionString ==> nil' 'nil' 'XDCP versionString ==> nil') |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7655 | Kernel | major | always | 08-11-11 18:11 | 11-17-11 01:55 | wiz | low | new | none | none | trunk | open | 0 | A mother for user interupt bugs and problems |
Pressing the user interrupt key works sometime but not always as intended. This is a parent for reports on this issue. So all the information can be accessed at once. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7679 | Kernel | minor | always | 11-16-11 12:34 | 11-16-11 12:34 | lewis | normal | new | none | none | open | 0 | Storing on a ReferenceStream may fail if stream is non-positionable |
For certain objects, storing on a ReferenceStream will fail if the underlying stream is not positionable. This causes problems when serializing objects directly over a non-positionable stream such as an OS pipe or a socket stream. The attached ReferenceStreamTest-dtl.1.cs demonstrates the issue. |
This issue has existed for a long time and probably is related to some workarounds implemented long ago in ReferenceStream>>beginInstance:size: and DataStream>>writeRectangle (and possibly others). The issue was exposed when testing RemoteTask <http://wiki.squeak.org/squeak/6176> [^] which serializes objects on a ReferenceStream on an OS pipe. | ReferenceStreamTest-dtl.1.cs (5 KB) 01-01-70 00:33 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7572 | Compiler | minor | always | 11-15-10 08:22 | 11-15-11 03:38 | leves | leves | normal | resolved | none | none | trunk | fixed | 0 | Block-local unused temporaries are not handled properly |
After accepting changes to a method in a browser, that has unused temporary variables, the parser used to ask if you want to remove them. This doesn't happen if the method has only block-local temporaries. The following example compiles without the question: Object >> foo [ | bar | ] value If the method also has unused method-local temporaries, then the Parser will ask if you want to remove the unused block-local temporaries, but they won't be removed if you answer yes. If ask the parser to remove the method-local temporaries, then it will ask the about the block-local temporaries twice. Example: Object >> foo | foo | [ | bar | ] value |
Another nice enhancement would be to remove the remaining || if all temoraries were removed. For example: Object >> foo | foo | will become Object >> foo | | after the parser removes the temporary. |
Parser-removeUnusedTemps-removedUnnecessaryNotification.st (1 KB) 01-01-70 00:33 parser-lw.1.cs (12 KB) 01-01-70 00:33 ParserErrorCorrection-lw.1.cs.gz (1 KB) 01-01-70 00:33 ParserErrorCorrectionIncludingBothFixes-lw.2.cs.gz (3 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7675 | Tools | minor | always | 09-25-11 17:23 | 11-07-11 13:19 | FrankShearar | leves | normal | resolved | none | none | trunk | fixed | 0 | TimeProfileBrowser doesn't understand #shoutParserClass |
If you open a TPB, say by TimeProfileBrowser spyOn: ["my block"], you will see a MessageSet containing some lines like "**Leaves**". That's fine. What's not fine is selecting these kinds of lines and seeing "MessageNotUnderstood: TimeProfileBrowser(Object)>>doesNotUnderstand: #shoutParserClass. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7674 | Browser | minor | always | 09-10-11 13:59 | 10-05-11 08:47 | FrankShearar | leves | normal | resolved | none | none | fixed | 0 | Pressing the 'o' character with mouse over the class list (with no selected class) throws a subscript out of bounds error | Really, it's any character not an initial character of a class in the list. So given #(Bar Foo Quux) any alphabetic character not in #(b f q) will do the trick. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7673 | Browser | minor | always | 09-10-11 13:44 | 09-11-11 13:55 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Change a class name through the "rename class" menu item doesn't update code pane |
Given a class Foo renamed to Bar, the class description still looks like Object subclass: #Foo <snip> If you select another class and then Bar, the code pane contains correct information. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7666 | Collections | trivial | always | 09-06-11 16:37 | 09-11-11 08:37 | Lars | FrankShearar | normal | resolved | none | none | 4.2 | fixed | 0 | typo in comment |
Dictionary class>>newFromPairs: has a typo in its comment: Answer an instance of me associating (anArray at:i) to (anArray at: i+i) for each odd i. anArray must have an even number of entries. It should be instead: Answer an instance of me associating (anArray at:i) to (anArray at: i+_1_) for each odd i. anArray must have an even number of entries. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7668 | major | always | 09-08-11 16:17 | 09-09-11 16:19 | smalltalktelevision | normal | new | none | none | open | 0 | MessageNotUnderstood: ByteString>>activeClass |
ClassID, a subclass of ByteArray, understands the message #activeClass. In: OtherBrowser>>contents theClass id activeClass definition the result of the "theClass id" message should produce a subclass of ByteArray. It's producing an instance or subclass of ByteString, which cannot understand #activeClass. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7669 | Any | minor | always | 09-09-11 11:16 | 09-09-11 11:17 | FrankShearar | leves | normal | assigned | none | none | trunk | open | 0 | Installer mc unload: 'MyPackage' broken |
Levente Uzonyi reports: > There's a DNU: #freeSomeSpace, which is easy to fix, and there's > #fixObsoleteReferences, which is too simple to work as expected. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7667 | Kernel | minor | always | 09-07-11 11:26 | 09-08-11 14:16 | FrankShearar | FrankShearar | normal | resolved | none | none | fixed | 0 | ScaledDecimal newFromNumber: 0.0 scale: 0 can't print |
Evaluate the following: 0s0 "=> 0s0" ScaledDecimal newFromNumber: 0 scale: 0 "=> 0s0" 0.0s0 "=> 0s0" ScaledDecimal newFromNumber: 0.0 scale: 0 "=> MNU: SmallInteger doesn't understand printTruncatedOn:showingDecimalPlaces:" The MNU happens because in ScaledDecimal class >> #newFromNumber:scale: we say "..." aNumber asFraction "..." and when aNumber = 0.0, aNumber asFraction = 0, which is a SmallInteger and not a Fraction. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7664 | block | always | 08-30-11 19:31 | 08-30-11 19:38 | FrankShearar | craig | normal | assigned | none | none | open | 0 | Ubuntu Lucid: can't find vm plugins |
$ uname -a Linux andrad 2.6.32-33-generic 0000072-Ubuntu SMP Fri Jul 29 21:08:37 UTC 2011 i686 GNU/Linux $ ./spoon.sh could not find module vm-sound-OSS Aborted Playing around (like commenting out sound-invoking stuff) just causes other modules to not be found. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7657 | crash | always | 08-16-11 18:20 | 08-30-11 19:21 | craig | craig | urgent | feedback | none | none | fixed | 0 | Flow plugin fails to load for Spoon 3 alpha 1 on some MacOS systems |
On some Macs, the Flow VM plugin doesn't load properly. That's fatal because it contains a corrected version of the idle-loop's relinquish primitive (required for headless remote messaging to work at a decent speed), and the headful UI depends on that primitive working properly. We need info about this from affected users (from stdout, gdb, XCode, etc., as much host-OS info as is available). Craig can't reproduce this on his Mac (early-2009 MBP, 10.6.8). |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7662 | feature | always | 08-23-11 11:05 | 08-30-11 19:20 | Saijanai | craig | normal | assigned | none | none | open | 0 | Documentation for the latest version is confusing/non-existent | I've managed to download and test the spoon 3 alpha 3 but I'm not quite sure what to do next. The book suggests that you can send arbitrary messages to the remote image but I don't understand how to do that. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7663 | minor | always | 08-30-11 19:15 | 08-30-11 19:16 | craig | craig | normal | assigned | none | none | open | 0 | modularization list doesn't include abstract class with no methods | http://thiscontext.wordpress.com/initial-spoon-modularization/ [^] doesn't include abstract classes with no methods, like Magnitude. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7661 | minor | always | 08-20-11 13:56 | 08-20-11 23:48 | bert | craig | normal | assigned | none | none | open | 0 | Decompiler MNU String class>>key |
To reproduce, browse ByteArray>>asString in the minimal image. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7659 | crash | always | 08-16-11 22:55 | 08-17-11 23:28 | jecel | craig | normal | assigned | none | none | open | 0 | Spoon 3 alpha 1 crashes on minimal images on Windows XP | The VM minimal\processors\windows\spoon.exe crashes with either image in minimal\memories with no indication of what went wrong. Using the VM in the top directory, Squeak.exe (which works fine with the image "Contents\Resources\Spoon 3 alpha 1.image") also crashes with the minimal images, but it produces a more informative error message (bytecode 211, primitive 0) and the attached log file. | crash.dmp (3 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7660 | minor | always | 08-16-11 23:03 | 08-17-11 23:28 | jecel | craig | normal | assigned | none | none | open | 0 | Spoon 3 alpha 1 scripts in Linux have problems with spaces in directory names |
Expanding the .zip file results in a directory called "Spoon 3 alpha 1.app" which causes problems for both squeak.sh and minimal/processors/linux/bin/spoon.sh since the utilities that split the names and put them together don't handle spaces very well. So the VM ends up being invoked with an image named "3". Just renaming the top directory not to have spaces seems to solve this issue. Some files still have spaces in their names, but that probably won't be a problem (other issues prevented my from testing this). |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6987 | VM | major | always | 03-22-08 05:22 | 07-27-11 12:56 | andreas | lewis | normal | assigned | none | none | open | 0 | signed32BitValueOf:, signed64BitValueOf: etc. broken |
The attached changes fix the following methods: * Interpreter>>signed32BitValueOf: * Interpreter>>signed64BitValueOf: * Interpreter>>signed64BitIntegerFor: * Interpreter>>positive64BitIntegerFor: All of the above are broken to varying extent. The first two fail to check for boundary conditions, i.e., if the integer has 32/64 bits of magnitude instead of 31+sign/63+sign. The latter two create non-normalized integers which will later fail to compare correctly. |
FFITestCase.st (2 KB) 01-01-70 00:33 mathfixforlowestlongandlonglong.1.cs (4 KB) 01-01-70 00:33 SignedIntFixes.3.cs (5 KB) 01-01-70 00:33 Int32Fixes-dtl-M6987.1.cs (2 KB) 01-01-70 00:33 Int64Fixes-dtl-M6987.2.cs (3 KB) 01-01-70 00:33 IntegerArrayTestCase-dtl-M6987.8.cs (34 KB) 01-01-70 00:33 FFI-primitiveFFIIntegerAt-dtl-M6987-M7237.1.cs (3 KB) 01-01-70 00:33 Interpreter-signed32BitIntegerFor-dtl-M6987.1.cs (2 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7650 | System | minor | always | 06-16-11 14:18 | 07-20-11 06:08 | Lars | normal | new | none | none | 4.2 | open | 0 | calling storeString on a compiledMethod freezes the image | I printed 'Object methodDict values first storeString' in a Workspace. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7642 | Tools | minor | always | 06-05-11 13:19 | 07-18-11 21:23 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | MNUs on Windows "right click" when another debugger open |
I've run twice today into a situation where, after having failing tests in the TestRunner, "right click"ing the desktop results in a MessageNotUnderstood: MethodReference>>do:. The "aCollection" being passed around is actually a MethodReference: MessageTrace >> browseAllImplementorsOf:. If you open a Trunk (11458), run the ToolsTest suite, you'll see two failing tests. Click the top failing test, and the debugger pops up. Now yellow-click (?) the desktop, and you'll see the error. Close the failing-test-debugger, and the problem disappears! frank |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7648 | Tools | minor | always | 06-14-11 11:04 | 07-08-11 17:45 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Browser: MNU unselecting a class after viewing method |
* Select a method in a Browser. * Select _the_selected_ class (unselecting the class). MNU: UndefinedObject(Object)>>compiledMethodAt:ifAbsent: in Browser >> selectedMessage because editSelect == #editMessage when we refresh the contents. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7472 | VM | minor | always | 03-07-10 00:29 | 06-17-11 23:54 | wiz | low | confirmed | none | none | trunk | open | 0 | In sq 9563 copying workspace text across images loses line endings |
For this one. Open two fresh sq 9563 images. In one open a workspace type the digits 1 to 9 each on a separate line 1 2 3 ... select the entire work space and copy the text. Open a second workspace in the same image and paste the text (you will see what you typed) Now go to the second image and Open a workspace and paste the text. (notice that all nine digits are now on the same line.) What happened to the line endings? |
I am doing this inter image pasting in the context of Ubuntu 8.04. Will this bug reproduce on a Mac or Windows system? |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7649 | VM | feature | always | 06-14-11 19:57 | 06-14-11 19:57 | lewis | lewis | normal | assigned | none | none | open | 0 | Methods for intercepting class access ([Vm-dev] Minor change for understanding) |
Contributed by Jean Baptiste Arnaud on vm-dev list <http://lists.squeakfoundation.org/pipermail/vm-dev/2011-June/008420.html> [^] [Vm-dev] Minor change for understanding Jean Baptiste Arnaud jbaptiste.arnaud at gmail.com Thu Jun 9 13:38:42 UTC 2011 Hi, I submit a really small change for make some code more easy to intercept class access in VM. I do crappy think with class pointer and i would like to indirect the access to the class. -------------- next part -------------- A non-text attachment was scrubbed... Name: VM change.1.cs Type: application/octet-stream Size: 6028 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110609/dfac70bb/VMchange.1.obj [^] -------------- next part -------------- I just create a method change reference of 4 new one. I have the feeling that make the structure more understandable. with this change i was able to intercept all class access on my experimental VM by changing 3 method. I run tiny benchmark for see if the change add overhead on class access. I don't find any overhead. Regard Jean Baptiste Arnaud jbaptiste.arnaud at gmail.com |
See attachments to email on vm-dev <http://lists.squeakfoundation.org/pipermail/vm-dev/2011-June/008420.html> [^] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7647 | Kernel | minor | N/A | 06-13-11 05:08 | 06-13-11 05:08 | wiz | normal | new | none | none | open | 0 | [RFE] A method #times to convert an integer into an interval from one to the integer. E.G. 3 times collect: [etc.] |
Squeak is a great rapid prototyping tool. Integers know timesRepeat: [no argument valuable block]. But there is no equivalent for timesCollect: etc. |
I have been using the simple method: Integer>>#times "Return an interval from 1 to the receiver" ^ 1 to: self to make life easy. There is a great convenience in having a no argument method to create an interval. In prototyping small intervals can be tried and then as things start working larger test can be made just by increasing the integer used as the receiver. Squeak should be easy. Programmers should be lazy. Yours in curiosity, service and lazyiness --Jerome Peace |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7631 | System | minor | always | 05-05-11 11:52 | 06-10-11 21:38 | FrankShearar | leves | normal | resolved | none | none | trunk | fixed | 0 | Duplicate Preference: "Allow underscore assignments" and "allowUnderscoreAssignment" | As above. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7557 | Documentation | feature | always | 08-27-10 06:10 | 06-08-11 13:30 | casey | casey | normal | assigned | none | none | open | 0 | Need better FFI documentation |
One of the major objections I hear from developers to Squeak, and Smalltalk in general, is that it's hard to interface with things not written in Smalltalk, specifically things with C calling conventions. I suspect that this may be hogwash. I think the main problem is weak documentation in this area. I suspect the real technical difficulties (the Squeak VM itself being ultimately represented in C) lie in the use of direct pointers and clever garbage collection. There's also the fact that calls block the VM, but I believe there may be solutions to that problem as well. But I don't really know, and I think far too few people understand this stuff very well. I think a lot of folks probably look at FFI, get lost, google a bit, and then give up. We should explore and document this stuff at some point. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7643 | Browser | minor | always | 06-08-11 09:08 | 06-08-11 09:08 | sittiri | normal | new | none | none | trunk | open | 0 | Browser should keep the selection after alphabetizing categories | As above. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7640 | Kernel | minor | N/A | 05-31-11 14:23 | 05-31-11 14:32 | wiz | normal | new | none | none | trunk | open | 0 | A mother for storeString bugs |
For many objects storeString behaves badly. This is a parent for other storeString bug reports. |
These storeString bugs have been in squeak for a long time. The implementation seems to just store out the ivars as an array which limits and constrains the interpretation because any reshaping of a class can destroy the relation of the ivar index to its meaning. The user story I am wanting to fulfill is I should be able to send an object a message that has it print out how to create a quasi-copy of it that can then be evaluated. I don't know if storeString is meant to fulfill that story or another one. But the way it currently opperates it is not safe to send to a general object. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7641 | Morphic | minor | always | 05-31-11 14:31 | 05-31-11 14:31 | wiz | normal | new | none | none | trunk | open | 0 | storeString sent to a visible Morph goes into an infinite loop. |
in a work space evaluate: Morph new openInWorld storeString. |
The loop comes because storeString follows the parent ivar as well as all the submorphs. What I am after is there should be some way to tell a morph to print a string that allows the creation of a quasi-copy of itself. This means each object needs to think about what ivars are state and which ivars are simply cache. Also rather than infinite loops storeString should raise an error right off the bat for morphs it can not handle. Or it should raise a deprecation warning but that leaves its function in limbo. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7639 | Kernel | block | always | 05-31-11 14:12 | 05-31-11 14:12 | wiz | urgent | new | none | none | trunk | open | 0 | [BUG] [] storeString goes into a tight infinite loop. |
For this one in a fresh disposable image, in a work space evaluate: [] storeString on a cog vm it will go into a tight infinite loop. requiring the job to be killed. In 3.9 the same infinte behavior but the loop was user interuptable. |
As I understand it storeString is supposed to be like but more precise that printString allowing its output to be re-evaluated. Ideally the reevaluation would give you an object similar to the receiver. For simple block closures the decompile message will produce a text that has this property. Eliot informs me this only work as long as the closure doesn't close over anything. The critical part of this bug is where the machine freezes if a closure is sent #storeString. This can trivially be fixed by causing storeString to fail with an error. Is that what should be done? Yours in curiosity and service, --Jerome Peace |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7638 | Morphic | minor | always | 05-27-11 00:45 | 05-27-11 00:45 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | Morphic book bookmarks not saved in project |
Bookmarks are missing when project containing book is loaded into a new image. If bookmarks were in a column morph, the message "a SimpleButtonMorph(nnn) that was not counted" appears in their place. If bookmarks were on a page they simply disappear. A bookmark is a kind of SimpleButtonMorph. The class includes methods for veryDeepInner: and veryDeepFixupWith:. These are probably used when creating the project file. See class comment for DeepCopier. Suspect the error is in one of these methods. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7602 | Multilingual | major | always | 01-29-11 23:30 | 05-22-11 20:35 | unoduetre | leves | normal | resolved | none | none | 4.1 | fixed | 0 | CR and LF |
Please run the following code: file:=FileStream fileNamed: 'test.txt'. file lineEndConvention: #lf. file nextPut: Character cr. file nextPutAll:' ' asWideString. file lineEndConvention: #cr. file nextPut: Character cr. file nextPutAll:' ' asWideString I've tested it on Linux (#lf convention), but it might work on other systems (that's why I've included the last four lines). The file 'test.txt' after doing these lines is: nl cr cr cr, and of course it should be nl nl cr cr. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7637 | Tools | minor | always | 05-22-11 10:22 | 05-22-11 10:22 | FrankShearar | normal | new | none | none | trunk | open | 0 | Debugger doesn't let you inspect undeclared variables (in a do-it) | In the below snippet, you cannot inspect counter during a do-it. |
counter := Dictionary new. CompiledMethod allInstances do: [:each | | bag tempCount | tempCount := each numTemps. bag := counter at: tempCount ifAbsent: [counter at: tempCount put: Bag new]. bag add: each] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7636 | VM | minor | always | 05-21-11 22:32 | 05-21-11 22:32 | lewis | lewis | normal | assigned | none | none | open | 0 | Trouble calling a Mac Foundation function via FFI |
Reported on vm-dev <http://lists.squeakfoundation.org/pipermail/vm-dev/2011-May/008167.html> [^] I'm having trouble calling a Mac Foundation function via FFI. It appears to be the plugin for the Mac 4.2.5 VM. There was a discussion at http://forum.world.st/FFI-to-call-Mac-Carbon-functions-td3507842.html [^] The meat of it is: After I put a link to the Foundation lib in the VM's Resources folder, I compiled: CarbonFunctions class>>NSMakeRectWithX: xFloat y: yFloat w: widthFloat h: hFloat <apicall: void* 'NSMakeRect' (float float float float) module: 'Foundation'> ^self externalCallFailed DoIt: CarbonFunctions NSMakeRectWithX: 0.0 y: 0.0 w: 100.0 h: 100.0. Error: Unable to find function address Other relevant info: * I am able to call libc functions Thanks. Sean |
Previous discussion thread: <http://forum.world.st/FFI-to-call-Mac-Carbon-functions-td3507842.html> [^] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7624 | Nebraska | minor | always | 04-25-11 21:05 | 05-17-11 18:08 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | On FreeBSD, dragging out a badge does not fill in IP address | On OS X and Windows VMs pulling out a badge fills in the local IP address. On FreeBSD the IP address remains 0.0.0.0. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7610 | VM | crash | always | 03-06-11 23:30 | 05-17-11 00:24 | lewis | lewis | normal | resolved | none | none | fixed | 0 | Serial plugin crash on unix if too if too man opens are performed |
Reported by Markus Lampert with fix provided: http://lists.squeakfoundation.org/pipermail/vm-dev/2011-March/006970.html [^] The serial plugin for unix (4.4.7.2357) can take the vm down. The following code demonstrates the issue: s := SerialPort new. 40 timesRepeat: [ s openPort: '/dev/ttyS0'. s close] |
Fix provided by Markus Lampert (attached) "I have attached a version of sqUnixSerial.c which fixes the problem. It allows for 32 _different_ serial ports to be opened and closed (as often as necessary). It also prevents the segmentation fault. If more than 32 different serial ports are attempted to be opened the request fails. The changes are in line 202, and 220 - 352. In the current implementation (trunk) it is not possible to find out if #openPort: was successful or not and I don't know how to fix that." |
sqUnixSerial.c (13 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7632 | Collections | minor | always | 05-06-11 07:46 | 05-16-11 00:57 | wiz | lewis | normal | resolved | none | none | fixed | 0 | String Holder class>>openLabel: returns the Class rather than the instance. |
in a workspace compare the results of evaluating: (Workspace openLabel: 'My Work') explore . with: (Workspace new openLabel: 'My Work' ) explore . |
StringHolder class>> openLabel: aString self new openLabel: aString tk 1998 should probably be: StringHolder class>> openLabel: aString "Open a string holder. Return the instance." ^self new openLabel: aString I am not ambitious enough to push this into a change set let alone the inbox but would the next person touching this package please add the change? Yours in curiosity and service, --Jerome Peace |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7622 | Morphic | minor | always | 04-19-11 17:15 | 05-15-11 22:35 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | Book morph save as new-page prototype fails |
setNewPagePrototype "Record the current page as the prototype to be copied when inserting new pages." currentPage ifNotNil: [newPagePrototype := currentPage veryDeepCopy]. veryDeepCopyWith: deepCopier "Copy me and the entire tree of objects I point to. An object in the tree twice is copied once, and both references point to him. deepCopier holds a dictionary of objects we have seen. Some classes refuse to be copied. Some classes are picky about which fields get deep copied." | class index sub subAss new uc sup has mine | deepCopier references at: self ifPresent: [:newer | ^ newer]. "already did him" class := self class. class isMeta ifTrue: [^ self]. "a class" new := self clone. (class isSystemDefined not and: [deepCopier newUniClasses "allowed"]) ifTrue: [ uc := deepCopier uniClasses at: class ifAbsent: [nil]. uc ifNil: [ deepCopier uniClasses at: class put: (uc := self copyUniClassWith: deepCopier). ^^^^^^^^^^^^^^^^^^^ deepCopier references at: class put: uc]. "remember" new := uc new. new copyFrom: self]. "copy inst vars in case any are weak" deepCopier references at: self put: new. "remember" (class isVariable and: [class isPointers]) ifTrue: [index := self basicSize. [index > 0] whileTrue: [sub := self basicAt: index. (subAss := deepCopier references associationAt: sub ifAbsent: [nil]) ifNil: [new basicAt: index put: (sub veryDeepCopyWith: deepCopier)] ifNotNil: [new basicAt: index put: subAss value]. index := index - 1]]. "Ask each superclass if it wants to share (weak copy) any inst vars" new veryDeepInner: deepCopier. "does super a lot" "other superclasses want all inst vars deep copied" sup := class. index := class instSize. [has := sup compiledMethodAt: #veryDeepInner: ifAbsent: [nil]. has := has ifNil: [class isSystemDefined not "is a uniClass"] ifNotNil: [true]. mine := sup instVarNames. has ifTrue: [index := index - mine size] "skip inst vars" ifFalse: [1 to: mine size do: [:xx | sub := self instVarAt: index. (subAss := deepCopier references associationAt: sub ifAbsent: [nil]) "use association, not value, so nil is an exceptional value" ifNil: [new instVarAt: index put: (sub veryDeepCopyWith: deepCopier)] ifNotNil: [new instVarAt: index put: subAss value]. index := index - 1]]. (sup := sup superclass) == nil] whileFalse. new rehash. "force Sets and Dictionaries to rehash" ^ new |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7634 | Tools | minor | always | 05-06-11 10:41 | 05-06-11 21:37 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | Cannot revert a class comment |
Find a class with a class comment. Edit the comment. Click "versions". Revert to an earlier version. "NonBooleanReceiver: proceed for truth." because instvar meta in ChangeRecord>>methodClass has as its value the class you're currently editing, rather than a boolean! |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7628 | Tools | minor | always | 05-05-11 09:22 | 05-06-11 21:35 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | DependencyBrowser "browse" button doesn't work |
Open a DB, browse to a particular method of a class of a ... of a package dependency of a package. Hit "browse". Nothing happens. You should get a Browser opened on that class>>selector. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7633 | Monticello | minor | always | 05-06-11 08:01 | 05-06-11 08:01 | FrankShearar | avi | normal | assigned | none | none | trunk | open | 0 | Attempting to check changes against a remote repository fails badly when you have no connection |
If you try check changes against a remote repository, and you don't have a network connection, you're asked "Retry / Give Up" because the name doesn't resolve. So far so good. Then you Give Up, and you get a debugger on primSocketFail: or similar (my machine blue-screened soon after, so I'm just remembering the name). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
7630 | Monticello | minor | always | 05-05-11 10:33 | 05-05-11 10:44 | FrankShearar | avi | normal | assigned | none | none | trunk | open | 0 | Missing package dependency warning doesn't tell you the name of the to-be-loaded package |
For instance: "This package depends on the following classes:" (etc etc) Which package is that? I don't know! |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7629 | SUnit | minor | always | 05-05-11 09:36 | 05-05-11 09:36 | FrankShearar | FrankShearar | normal | assigned | none | none | trunk | open | 0 | Error test repeatedly added to errors list | If you have a test that causes an error (like an Exception raised in an unwind), the failing test will be repeatedly added to the errors list. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7025 | Browser | minor | always | 04-22-08 16:29 | 05-03-11 18:17 | sig | cwp | normal | assigned | none | none | 3.10 | open | 0 | OB-selection fix |
In sq3.10-7159dev08.04.1.image OmniBrowser vents to DNU when removing methods from class. I don't know if it fixed already, here is my simple fix. |
OB-selection-fix.1.cs (1 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7056 | Tools | minor | always | 05-18-08 11:23 | 05-03-11 18:16 | macta | cwp | normal | assigned | none | none | 3.10 | open | 0 | Dragging method in OB-System Browser gives walkback |
I opened a system browser (I think its an Omnibrowser) in Damien's image and started to drag a method from a subclass to a superclass - as I crossed over the categories pane (before I got to the superclass in the 2nd pane) I got a walkback: Text(Object)>>doesNotUnderstand: #withBlanksTrimmed Receiver: a Text for 'WAHtmlRoot' |
I am using Damien's 3.10 web image on Windows XP. I can reproduce it consistently if I drag over the Instance ? Class buttons on my way to the superclass (wiggle over them a bit and you will get it). |
SqueakDebug.log (3 KB) 01-01-70 00:33 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
7176 | Browser | minor | always | 09-03-08 00:59 | 05-03-11 18:16 | Antony Blakey | cwp | normal | assigned | none | none | 3.10.2 | open | 0 | When content in an OBColumn doesn't change when the switch is changed (e.g. OBRB Instance -> Trait) the change isn't propagated. | Using the OmniBrowser RB, if in the second column you switch between Instance and Trait then the subsequent columns don't update. This is because the contents of the old and new lists are the same and OBColumn>>refreshAndSignal: doesn't signal a change of selection in that circumstance. |
SignalSelectionChangeInOBColumnEvenWhenListContentIsUnchanged-M7176-ASB.1.cs.gz (0 KB) 01-01-70 00:33 SignalSelectionChangeInOBColumnEvenWhenListContentIsUnchanged-M7176-ASB.2.cs.gz (0 KB) 01-01-70 00:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7626 | Tools | minor | always | 04-26-11 21:14 | 05-02-11 17:10 | FrankShearar | leves | normal | resolved | none | none | trunk | fixed | 0 | Alphabetising message categories in a Browser doesn't preserve currently selected message category | As above. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7596 | Tools | minor | always | 01-09-11 11:37 | 05-02-11 09:54 | FrankShearar | FrankShearar | normal | resolved | none | none | trunk | fixed | 0 | MessageNames, looking at Undeclared: MNU #allSuperclassesDo: |
1. Search for "undec" in the toolbar. 2. Scroll down a bit to see "Undeclared". 3. Select "Undeclared". Two MNU walkbacks: * Dictionary(Object)>>doesNotUnderstand: #allSuperclassesDo: * Dictionary(Object)>>doesNotUnderstand: #compiledMethodAt:ifAbsent: |
This is not a duplicate of 0007595. The two bugs manifest at the same time, but may not be related. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
7627 | Nebraska | minor | always | 04-30-11 05:15 | 04-30-11 05:25 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | telemophic connection times out immediately, did not wait 45 seconds |
Win7 talking to Mac OS X Windows Firewall off Home WiFi nextwork opened listener on both systems created badges on both systems able to do text chat audio chat works but win7 is faint and scratchy able to drop morphs through badges After clicking on "T" button on Mac to initiate telemorphic I see test about checking network, then in 1-3 seconds I get a ConnectionTimedOut error back trace. IP is correct. At upper left corner I see mouse pointer labeled with win7 badge name, and a question mark below that |
In connectTo: hostAddress port: port waitForConnectionFor: timeout "Initiate a connection to the given port at the given host address. Waits until the connection is established or time outs." self connectNonBlockingTo: hostAddress port: port. self waitForConnectionFor: timeout ifTimedOut: [ConnectionTimedOut signal: 'Cannot connect to ' , (NetNameResolver stringFromAddress: hostAddress) , ':' , port asString] =-=-=-=-= value of timeout is 45. There is no way the connect waited 45 seconds. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7625 | Nebraska | minor | always | 04-25-11 21:14 | 04-30-11 05:18 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | Nebraska badge always displays local name |
The first time a badge is pulled from the Objects menu it prompts for a name. After that, every new badge gets that person's name. According to the documentation at http://wiki.squeak.org/squeak/1356 [^] a client is supposed to create a badge for the server and for other participants they want to chat with. Also from that page: Niceties: If the server has a badge representing the client, then the client's name and/or picture will be associated with the client's cursor. If not, '???' will be used. How does the person on the server set up these badges if they all have the same name? |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7621 | Morphic | major | always | 04-19-11 01:31 | 04-19-11 01:31 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | text morph yellow button menu items not working |
Applies at least to a scrolling test morph. None of the font attribute choices on the yellow button menu have any affct on selected text. Am able to set font attributes with halo FF buttons. Find is also broken. Copy and paste have issues. The keyboard shortcuts (ctrl c, x, v) work as expected but selecting copy/paste commands from the yellow-button menu gives incorrect results, especially with two scrolling list morphs active ... focus does not track correctly. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6821 | Monticello | major | always | 12-20-07 16:18 | 04-15-11 14:45 | Herbert Koenig | avi | normal | assigned | none | none | 3.10 | open | 0 | can't load mcz or filein of classes with german umlauts |
the appended mcz or st file do not load into fresh 3.10.gamma 7159 They do into 3.8.0006665. 3.8 can also file out the class The class was created in 3.10, the mcz was written in 3.10. Fileout of the class was impossible in 3.10. In any case the whole thing has to do with UTF8 characters. |
VM is 3.10.6 Windows OS is XP SP2 latest Update |
test_umlauts.zip (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
7620 | Morphic | tweak | always | 04-12-11 01:35 | 04-12-11 01:35 | garydunnhi | normal | new | none | none | 4.2 | open | 0 | Better text attribute setting | Right-click on selected text produces menu with "set font," "set style," and "set alignment." The set font and set style options are almost identicle in function, both set the font just in different ways. Recommend that set style give options found on text halo under Emphasis & alignment: normal / bold / italic / underlined / struckOut / narrow. Also recommend "struckOut" be changed to "strikethrough" in both places. | As observed on FreeBSD. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7619 | Documentation | minor | always | 04-11-11 16:55 | 04-11-11 16:55 | unoduetre | casey | normal | assigned | none | none | 4.2 | open | 0 | Linux vm man page |
Man page for Linux vm states: squeak foo.image hello.sq but nowadays the correct method of running script would be: squeak foo.image "file://$(pwd)/hello.sq" [^] (prevous method shows: Error: No content to install) For this reason it's impossible to write scripts directly in squeak. You have to use intermediate bash script or other method. Either man page or squeak image should be corrected. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
6655 | OmniBrowser | feature | always | 09-03-07 12:30 | 04-09-11 20:13 | Damien Cassou | cwp | normal | assigned | none | none | open | 0 | Ordering command buttons |
Sometimes, you would like to enforce an order for some commands. For example, Romain Robbes has 2 commands labeled '<' and '>' which must come in this order and after normal commands. This can be easily done if all commands can be sent a #index or #position message. This would return 1 for all commands per default. The commands are then sorted by numbers. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6806 | OmniBrowser | feature | always | 12-10-07 03:41 | 04-09-11 20:13 | matthewf | cwp | normal | assigned | none | none | open | 0 | Spawn method editor (Cmd-o) is not implemented | The normal browser has text-pane command that is not implemented in OmniBrowser. Spawn opens a method editor with the changes you have made in the browser, and makes the browser available for browsing again. |
The use case is: 1. Start editing a method 2. realize you need a little bit of information to complete the edit, but don't want to open another browser 3. Hit Cmd-o 4. The method edit is given it's own window, and the browser is free to browse again |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
6826 | OmniBrowser | minor | N/A | 12-22-07 04:51 | 04-09-11 20:11 | wiz | cwp | normal | assigned | none | none | open | 0 | [RFE] How about a list that combines senders and implementors for a selector? |
Context: You are trying to track down a bug in a routine. Which means you have a question about a selector. Presently you can chase senders or implementors (and the chasing of implementors has a bug so you do chase the one you want). But what you really want to do is to look at all the implementors to see which ones are relevant and then to see who sends the selector. Solution: If I could get a list that for a particular selector lists all implementors and senders of the selector in the same list that would save steps and enhance clarity. Implementors will have different classes but the same selector. Implementors may also be senders. so glance. So distinguishing senders could be accomplish at a glance if senders are indented (or bulleted) in the list. And then you would have something really useful for debugging. And a potentially simpler browser. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6824 | OmniBrowser | tweak | always | 12-22-07 00:13 | 04-09-11 20:10 | wiz | cwp | normal | assigned | none | none | open | 0 | OBConfirmationRequest uses a poor default for saying no. |
in a fresh sq3.10-7159dev07.12.1 In a workspace evaluate: OBConfirmationRequest prompt: 'phui' (You will get the box pictured in phui.gif) The problem is that both the cancel choice and the cancel button both say cancel. The less prominent choice returns false as it should. The more prominent button returns nil. Which leads to a debug box asking for a truth value. |
There is a design choice here. Either the big cancel button should return a default of false instead of nil. This makes the box always return a truth. But loses a distinction where the user refuses to choose.* Or the default choice should appear as something other than cancel. (Something like No would be good.) Yours in curiosity and ser vice, --Jerome Peace *Hmmm what would happen is someone deleted the box w/o answering? |
phui.gif (3 KB) 01-01-70 00:33 phui2.png (1 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
6837 | OmniBrowser | feature | always | 01-05-08 09:25 | 04-09-11 20:08 | renggli | cwp | normal | assigned | none | none | open | 0 | Show hierarchy, definition, comment |
The menu commands show hierarchy, definition and comment are missing in OB. The functionality is basically there, except for show hierarchy that should display something like when being triggered on Number: ProtoObject #() Object #() Magnitude #() Number #() Float #() Fraction #('numerator' 'denominator') Integer #() LargePositiveInteger #() LargeNegativeInteger #() SmallInteger #() ScaledDecimal #('fraction' 'scale') |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
6931 | OmniBrowser | minor | always | 02-17-08 11:42 | 04-09-11 20:07 | Nicolai Hess | cwp | normal | assigned | none | none | open | 0 | Choose dialog for "List of senders" ignores selected entry. |
Selecting implementors or senders button let you choose for which message you want to see them. This does work for implementors but not for senders. It always search for senders of the current message and ignores what you selected from the choose-dialog. |
Maybe OBSendersBrowser have to use defaultMetaNode ^self sendersNav: #sendersOfMessage to create defaultMetaNode instead of defaultMetaNode ^self sendersNav: #senders But I am not sure if it breaks code elsewhere. Some tasks in Omnibrowser are delegated so many level deep from caller to executor, that it is difficult to follow an execution path. |
ListOfSenders.1.cs (1 KB) 01-01-70 00:33 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
6997 | OmniBrowser | minor | always | 03-29-08 09:46 | 04-09-11 20:03 | mberth | cwp | normal | assigned | none | none | open | 0 | Keystroke for pretty print menu item does not work | I'm in a method source definition, the context menu says "pretty print (r)". Pressing Ctrl-R, or Alt-R does not work. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
6999 | OmniBrowser | minor | always | 04-03-08 03:16 | 04-09-11 20:02 | rjriv | cwp | normal | assigned | none | none | open | 0 | Removing the last method in the method pane causes an "Error: subscript is out of bounds: ##" |
1. Add two or more methods to a class. 2. Remove the one at the bottom of the list. 3. Try to click on any other method. 4. This will continue until you click out of the method pane. |
OB Packages I have loaded: OmniBrowserFixes-dc.25 OBUniverse-dc.35 OB-TraitsIntegration-dc.32 OB-Enhancements-dc.61 OB-SUnitIntegration-dc.9 OB-Morphic-dr.46 OmniBrowser-dr.408 OB-Standard-alog.327 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7004 | OmniBrowser | minor | always | 04-05-08 21:10 | 04-09-11 20:01 | matthewf | cwp | normal | assigned | none | none | open | 0 | Cannot resize the list panes in an Omnibrowser |
When trying to horizontally resize the list panes in an omnibrowser by dragging the divider between them, you end up moving the entire window instead. Oddly, this works correctly when dragging the vertical divider between the text pane below and the lists above |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7077 | OmniBrowser | feature | always | 06-02-08 04:31 | 04-09-11 19:58 | hfm | cwp | normal | assigned | none | none | open | 0 | Allow to open the Tracing Messages Browser from OmniBrowser |
This little patch will enable to open the TMB (browse SqueakSource.com to find it) from the OmniBrowser's message list menu. (Tested under sq3.9.1-7075web08.05.2) |
OB-TracingMessagesBrowser-hfm.1.mcz (2 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
7206 | OmniBrowser | minor | always | 10-04-08 19:18 | 04-09-11 19:47 | marcin_tustin | cwp | normal | assigned | none | none | open | 0 | Dragging a method to where it is already defined deletes it | Dragging a method to where it is already defined deletes it, in omnibrowser. | Using squeak one-click image. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
6996 | OmniBrowser | tweak | always | 03-29-08 09:42 | 04-09-11 19:41 | mberth | cwp | normal | assigned | none | none | open | 0 | Automatic pretty print of method source |
Omnibrowser lets you pretty print methods by a menu item. Additionally, it should prtty print changed methods when you accept the source (save). There is a Preference for this, called browseWithPrettyPrint: "If true, browsers will automatically format their contents". I have attached a change set that fixes this, please review. |
OmniBrowser-automatic-pretty-print.1.cs (1 KB) 01-01-70 00:33 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||