ticket summary component milestone type owner status created _changetime _description _reporter 2 Fix coverage reporter defect new 2013-11-25T11:36:39Z 2013-11-25T11:36:39Z "The problem is that it is leaving too many files open so on Windows, it quite often hits the limit of 50 open files. " vranyj1 5 Little star icon in UI builder no longer works default defect vranyj1 new 2013-11-21T15:46:45Z 2013-11-28T16:12:43Z "If you click on it, a browser pops up but no method is defined. In both jv-branch and CVS." vranyj1 6 Method list in browser is not correctly refreshed. defect vranyj1 assigned 2010-11-02T10:37:18Z 2013-11-27T22:30:36Z "When accessor methods are generated by instance variable list->Add..->Generate accessors?->OK, they are sometimes not visible in method list until browser is restarted. Obviosly they are generated correctly, only browser does not see them (Generate->Accessors complains that they are already present) It is interesting that this does not happen always." haklales 7 Implementing unimplemented required method enhancement vranyj1 assigned 2010-10-20T00:23:02+01:00 2013-11-27T22:33:04Z Accepting new method after selecting it from list of required methods causes view to move back to class. This behavior is slightly confusing. haklales 9 Implement ephemerons default todo new 2013-11-28T12:23:56Z 2013-11-28T12:23:56Z Ephemerons are needed to efficiently implement Java finalization scheme. And handy in other cases. too :-) vranyj1 16 Selection is lost when accepting missing required / inherited method default defect new 2013-12-11T16:36:00Z 2014-01-26T13:17:14Z "Steps to reproduce: 1. Create class {{{ClassA}}}. 2. Define method {{{foo}}} in {{{ClassA}}} as ''subclass responsibility''. 3. Create class {{{ClassB}}} as a subclass of {{{ClassA}}} 4. In browser, you should see a pseudo category ''required (1)'', select it. 5. Select missing method (labeled as ''foo (* * missing required * *)'' in red) 6. In code pane, press ''Accept'' (''Alt+a'') Method selection/protocol is lost and class definition appears in the code pane." vranyj1 19 Merging in ChangeSetDiffTool is broken default defect new 2013-12-17T16:30:50Z 2013-12-17T16:30:50Z "Sometimes, after merging changes and saving result, output file still contains {{{}}} lines. Steps to reproduce: 1. Download attached files (Object.*), save them into a directory, say {{{/tmp/mergebug}}} 2. In workspace, evaluate: {{{ | spec | spec := Tools::ChangeSetDiffInfo specA: (Tools::ChangeSetSpec file: '/tmp/mergebug/Object.st.local') specB: (Tools::ChangeSetSpec file: '/tmp/mergebug/Object.st.other') specBase: (Tools::ChangeSetSpec file: '/tmp/mergebug/Object.st.base') specMerge: (Tools::ChangeSetSpec file: '/tmp/mergebug/Object.st'). Tools::ChangeSetDiffTool new open; fileMenuOpenOnDiffInfo: spec }}} 3. Merge all differences by using version '''B''' (using yellow '''B''' button in the middle bar on right. 4. Click ''Save'' Now check that resulting {{{Object.st}}} does not contain any lines like {{{}}}" jan vrany 20 Redesign (and reimplement) CodeView2 default todo new 2013-12-17T20:09:25Z 2013-12-20T11:25:43Z "Current {{{CodeView2}}} has several flaws which are hard to fix with current design. It has to be redesigned to meet new requirements: * General * Make sure it performs well with large files * Introduce {{{DamageArea}}} object which will be passed to services to allow for fine-grained rendering, incremental re-highlighting etc. * Gutter * Higher-level API for line annotations (breakpoints, lint warnings,...) that allows composition of two or more services (problem of breakpoints & lint annotations in current implementation - when there's a lint warning, you cannot add breakpoint. * API to register custom menu items to gutter/editors' context menu. * Fix for diff Please, feel free to comment on current flaws/requirements for next version. " jan vrany 21 Better font rendering on X default todo new 2013-12-19T15:33:51Z 2014-01-04T13:05:43Z "On X Window, an ancient core X API is used to draw text. The result is bad as it has no support for freetype fonts, antialiasing, hintting and so on. While the best would be yo use [[http://www.pango.org|PANGO]] library, this is quite some work. As an transitional solution one may use Xft library. The idea here is to create a special {{{XftFont}}} class and use custom font rendering (simular to BitmapFont). Later on, the support could be merged right into {{{XWorkstation}}}. " jan vrany 22 Support for simpler package deployment default todo new 2013-12-20T10:48:11Z 2013-12-20T10:51:45Z "Deploying Smalltalk/X package should be simpler, ideally one file like in Java or GNU Smalltalk. The file should include code, source (if desired), reources (translations, icons, ...) There are two options: * Bundle all files into single .zip file, including .dll/.so. Maybe it could be compatible with .mcz as used by squeak/pharo. * Deploy as single .dll/.so and add ZIP archive with sources and other resources as a data section to that .dll/.so." jan vrany 23 Move → To Class Protocol (Make Class Method) creates multiple undo items default defect new 2013-12-28T22:30:02Z 2014-03-05T16:51:19Z "Steps to reproduce: 1. Create class. in the class create two methods say {{{foo}}} and {{{bar}}}. 2. Select both methods. 3. Choose ''Selector → Move → To Class Protocol (Make Class Method)'' This creates two entries in undo list (check ''Operations → Undo Recent'') As all methods was moved by one command (click), only one (compound) undo item should be created. " jan vrany 26 ChangeSetBrowser2: progress does not hide after reading whole file default defect new 2014-01-12T22:47:11Z 2014-01-12T22:47:11Z "Steps to reproduce: * Make sure setting ''Tools / Toolbox / Changes Browser'' is set to {{{Tools::ChangeSetBrowser2}}} * Open filebrowser, select some .st file (libtool/Tools__NewSystemBrowser.st for instance) * Select ''Tools'' → ''Changes Browser'' Changes are shown correctly, but inline progress dialog too and it should not." jan vrany 28 EditTextView has artefacts when rendered using Xft default defect new 2014-01-21T11:21:44Z 2014-01-21T11:21:44Z "No known way how to reproduce this so far... " jan vrany 29 Test Runner Tool doesn't sometimes show that the test finished default defect new 2014-01-25T22:27:42Z 2014-01-25T23:29:21Z "Steps to reproduce: Java release: JavaRelease JDK7. ""/fails with jdk6 as well Java flushAllJavaResources. Java initialize. JavaVM initializeVM. JavaTestsLoader loadLibjava. open test runner tool and run java:stx/libjava/tests/lang/MonitorTests test runner stays yellow, like it's still running Java dumpConfig == VM configuration == JIT : false Native Opt : true == Java release config == name : Open JDK 7 JAVA home : /usr/lib/jvm/java-7-openjdk-amd64 JRE home : /usr/lib/jvm/java-7-openjdk-amd64/jre JDK home : /usr/lib/jvm/java-7-openjdk-amd64 boot class path : /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/compilefontconfig.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/javazic.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/management-agent.jar ext dirs : /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext /usr/java/packages/lib/ext (not found!!!) == Initial system properties == java.vm.specification.version : 1.0 sun.arch.data.model : 32 user.timezone : java.class.version : 50.0 java.ext.dirs : /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext java.vm.specification.vendor : Sun Microsystems Inc. java.runtime.name : OpenJDK Runtime Environment java.vm.version : 6.2.3jv.0 java.specification.name : Java Platform API Specification java.vendor : Sun Microsystems Inc. file.encoding : UTF-8 java.library.path : /usr/lib/jvm/java-7-openjdk-amd64/lib:/usr/lib/jvm/java-7-openjdk-amd64/lib/amd64:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin user.language : en java.vendor.url : http://www.exept.de & http://swing.fit.cvut.cz java.vm.info : Smalltalk/X 6.2.1 java.specification.vendor : Sun Microsystems Inc. java.awt.fonts : /usr/lib/X11/fonts file.encoding.pkg : sun.io file.separator : / user.home : /home/m java.awt.printerjob : sun.print.PSPrinterJob java.vendor.url.bug : https://swing.fit.cvut.cz/projects/stx-libjava/newticket line.separator : user.name : m sun.cpu.endian : little java.awt.graphicsenv : sun.awt.X11GraphicsEnvironment java.vm.name : Smalltalk/X path.separator : : sun.desktop : gnome java.endorsed.dirs : /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed hotjava.home : /usr/local/java/hotjava sun.io.unicode.encoding : UnicodeLittle sun.boot.class.path : /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/compilefontconfig.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/javazic.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/management-agent.jar java.specification.version : 1.6 sun.boot.library.path : /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64 os.arch : ix86 sun.management.compiler : Smalltalk/X jinterpreter appletviewer.version : 1.1 java.io.tmpdir : /tmp/stx_tmp user.country : US os.version : #68-Ubuntu SMP Mon Dec 2 21:58:52 UTC 2013 java.version : 1.6 java.class.path : /home/m/Projects/stx/jv-branch/build/stx/libjava/tools/java/bin:/home/m/Projects/stx/jv-branch/build/stx/libjava/tools/java/libs/org.eclipse.jdt.core_3.8.3.v20130121-145325.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/tools/java/libs/ecj-4.2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jackson-core-2.0.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/xml-apis-1.3.02.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jasperreports-5.0.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jfreechart-1.0.12.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/castor-1.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/mpxj-4.3.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-codec-1.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcmail-jdk14-1.38.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcprov-jdk14-138.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-logging-1.1.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/log4j-1.2.17.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/itext-2.1.7.js1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jackson-annotations-2.0.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcprov-jdk14-1.38.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-beanutils-1.8.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-collections-2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/eclipse-runtime-2.1.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/hamcrest-core-1.2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jdtcore-3.1.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/saxon-9.1.0.8.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jcommon-1.0.15.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcmail-jdk14-138.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-digester-2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/junit-4.8.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/asm3-all-3.3.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jackson-databind-2.0.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/poi-3.8.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bctsp-jdk14-1.38.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/experiments/java/bin:/home/m/Projects/stx/jv-branch/build/stx/libjava/java/bin:/home/m/Projects/stx/jv-branch/build/stx/libjava/java/libs/junit4-4.8.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/java/libs/groovy-all-1.8.2.jar:/usr/lib/jvm/java-7-openjdk-amd64/lib/sa-jdi.jar:/usr/lib/jvm/java-7-openjdk-amd64/lib/dt.jar:/usr/lib/jvm/java-7-openjdk-amd64/lib/jconsole.jar:/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/tests/libjava/bin:/home/m/Projects/stx/jv-branch/build/stx/libjava/java/libjava-support/bin:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jackson-core-2.0.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/xml-apis-1.3.02.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jasperreports-5.0.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jfreechart-1.0.12.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/castor-1.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/mpxj-4.3.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-codec-1.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcmail-jdk14-1.38.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcprov-jdk14-138.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-logging-1.1.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/log4j-1.2.17.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/itext-2.1.7.js1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jackson-annotations-2.0.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcprov-jdk14-1.38.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-beanutils-1.8.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-collections-2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/eclipse-runtime-2.1.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/hamcrest-core-1.2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jdtcore-3.1.0.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/saxon-9.1.0.8.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jcommon-1.0.15.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bcmail-jdk14-138.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/commons-digester-2.1.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/junit-4.8.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/asm3-all-3.3.2.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/jackson-databind-2.0.5.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/poi-3.8.jar:/home/m/Projects/stx/jv-branch/build/stx/libjava/libs/java/libs/bctsp-jdk14-1.38.jar libjava.tests.dir : /home/m/Projects/stx/jv-branch/build/stx/libjava/tests user.dir : /home/m java.vm.specification.name : Java Virtual Machine Specification os.name : Linux sun.java.launcher : SUN_STANDARD sun.os.patch.level : unknown sun.cpu.isalist : java.vm.vendor : eXept Software AG & SWING Research Group sun.jnu.encoding : UTF-8 java.home : /usr/lib/jvm/java-7-openjdk-amd64/jre " marcel hlopko 35 Selection highlighting in CodeView2 default todo new 2014-02-25T16:04:05Z 2014-02-25T16:04:05Z "> But if I select some string (just select), wouldn't it be nice if it > could then also highlight (with a faint color, of course, such as light > yellow) all matching strings in the code. That would be very helpful, if > text is edited with select-type-AGAIN-AGAIN... (which we often do...)" jan vrany 37 ChangeSetBrowser2 broken? default defect new 2014-03-01T21:36:08Z 2014-03-01T21:36:08Z "Reported by CG DiffViewer is broken (I think); try: open a monticello repository browser add the repository ""www.smalltalkhub.com/NicolasPetton/JSON/main make sure that you have the goodies/JSON package loaded (so that the textDiff can show something) in MCReposBrowser, select JSON/main select JSON select JSON-ul.35 BROWSE now, in the text diff, if you first select one of the diffetent entries, it is shown OK. then, select an equal item - still OK now select another different item - crash what happened somehow, is that a sScrollableView for a ScrollableView with no contentsView is added any idea? More in the ChangeSet browser (monticello-browse): the menu items apply and apply all should be list-specific. I just overwrote many methods (frustrating) by assuming, the the right menu only applies stuff listed on the right - it applies all. Also keyboard shortcuts are wrong: ^S should (if focus is on right view) only apply that single change, not all of them. I think, I already fixed that some time ago, but it got lost in the merge. Did you actually merge in from CVS, before yougave me your changes when you were here? I have the feeling that you dod not, as many bugs reappear, which ahve been long fixed. Another bug: class instance variables are not handled" jan vrany 43 Default SCM combo box should show only enabled managers default defect new 2014-04-02T12:54:54+01:00 2014-04-02T12:54:54+01:00 In settings dialog, ''Default Repository Type:'' combo box should show only enabled source code managers. Now it shows all loaded. jan vrany 44 Test button in source code management setting should operate on dislayed config... default defect new 2014-04-02T12:56:24+01:00 2014-04-02T12:56:24+01:00 ...and not on current config saved in settings. Now one have to accept changes in order to test settings. jan vrany 45 Inline search not working in hierarchical list default defect new 2014-04-10T10:59:46+01:00 2014-04-10T10:59:46+01:00 ...which used {{{HierarchicalListView}}} such as {{{HierarchicalChangeList}}} jan vrany 46 MenuEditor / UIPainter does not preserve package of the method default defect new 2014-04-17T23:11:05+01:00 2014-04-17T23:11:05+01:00 When I edit menu/window spec method which is an extension, after save it changes package to class's own package (i.e., it does not preserve package nor put it into ''!__NoProject!__'' - either is fine with me) jan vrany 47 Saving specs or accepting code in debugger does to go through refactory undo mechanism default defect new 2014-04-17T23:12:49+01:00 2014-08-05T21:53:29+01:00 "...so one can't easily undo it. > debugger should go through refactoring. We should refactor the stuff > from the !NewSystemBrowser into asome common (!CompilationWithUndoSupport > utility class), so it can be used from multiple places. Some of those > things are hard (complicate to setup) in the refactoring framework, so > it should rather be reused (creating changes/refactorings, executing > them etc.)" jan vrany 48 Invalid code generated by stc for some blocks stc defect new 2014-06-04T10:47:38+01:00 2014-06-04T10:50:29+01:00 "In some cases stc generates invalid code. One part of the generator thinks the block is inlined whether the other one generates proper block. However, the block-function is not generated. As a consquence, VM crashes hard with messahe like: {{{ ./projects/smalltalk/stx: symbol lookup error: /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/stx/projects/smalltalk/libstx_libjava.so: undefined symbol: JavaPackage__B_39 }}} It is not clear when this happens. Please collect examples..." jan vrany 49 Standalone test runner does not deal properly with skipped tests default defect new 2014-07-16T07:16:52+01:00 2014-07-16T07:16:52+01:00 "When test is marked by it still does run it. It test uses #skipIf: then it shows it as if it passed." jan vrany 50 CVS Commit: do not pre-fill tag from previous commits default todo new 2014-07-25T12:28:18+01:00 2014-07-25T12:28:18+01:00 "> I've just found that CVS commit dialog remembers the tag. I don't think ?> this is a good idea, it is very easy to accidentally tag something > completely unrelated because some couple days ago you commited something > with that tag. > Wouldn’t it be better to remember tags, but present them as combo > initially empty so user have to explicitly specify if (possibly by > choosing from combo)? > yes, a good idea." jan vrany 52 Protocol selection is lost when switching between Do Not Show Inheroted Method/Show Inherited Methods Except Object's default defect new 2014-07-28T20:03:05+01:00 2014-07-28T20:03:05+01:00 "Steps to reproduce: 1) Open browser 2) Select class {{{LinkedList}}} 3) Select protocol ''accessing'' 4) Select menu ''View'' → ''Selector'' → ''Show Inherited Method's exept Object's'' The protocol ''accessing'' should remain selected, but the first protocol gets selected, whatever it is. " jan vrany 53 Protocol shows invalid method counts when switching to Show Inherited Methods Except Object's default defect new 2014-07-28T20:08:20+01:00 2014-07-28T20:08:20+01:00 "Steps to reproduce: 1) Open browser 2) Select class {{{LinkedList}}} 3) Select protocol accessing 4) Select menu View → Selector → Show Inherited Method's exept Object's The protocol accessing shows invalid method count, check if the number shown is the same as {{{ | cls count | cls := LinkedList. count := 0. [ cls ~~ Object ] whileTrue:[ cls methodDictionary keysAndValuesDo:[:sel :m| m category = 'accessing' ifTrue:[ count := count + 1. ] ]. cls := cls superclass ]. count }}}" jan vrany 54 Better support for instvar modification breakpoints default todo new 2014-07-30T09:59:56+01:00 2014-07-30T10:01:05+01:00 "Actually, I found modification trap not very useful because it triggers break after all method's code is executed, so you don''t really know where the instvar was modified. If it is modified in two branches, you don't know which one did it. It's even worse when there are blocks involved - at the time of breakpoint the most interesting part of the stack is gone. If the method modifies the instvar in a block that outlives the method, you don't get breakpoint at all. Instead of generating anonymous subclass, it should instead instrument methods and inject guarding code before each assignment. Implementation-wise I think it's even simpler and easier to understand than current code." jan vrany 55 Embedded test runner does not display last outcome for inherited test methods default defect new 2014-08-07T16:49:18+01:00 2014-08-07T16:49:18+01:00 jan vrany 56 Fix bad coding in EmbeddedTestRunner>>visibility:height: default defect new 2014-08-17T12:16:13+01:00 2014-08-17T12:16:13+01:00 See CG's comment. The coding is bad... jan vrany 57 Keep stack of shadowed method instead of shallow list. default todo new 2014-10-06T20:56:01+01:00 2014-10-06T21:05:30+01:00 "Current scheme of handling shadowed methods does not handle fowllowing case: 1. ClassA (package A) >> foo 2. extension shadowning ClassA>>foo from package B is loaded. 3. extension shadowning ClassA>>foo from package C is loaded. SCM fileout does not handle correctly the case of committing package B. For proper package unloading, a stack of shadowed method has to be managed." jan vrany 58 Coverage reporter: do not include branch information default defect new 2014-10-08T11:32:01+01:00 2014-10-08T11:32:01+01:00 ...if it's not collected. jan vrany 59 Fix layout of embedded test runner. default defect new 2014-10-08T21:27:25+01:00 2014-10-08T21:27:25+01:00 "See the screenshow. Bottom layout of lists is not always correctly updated. " jan vrany 60 UI resize/update problem in lint view in browser default defect new 2014-12-02T15:13:07Z 2014-12-02T15:13:07Z UI: in the SmallLint results view: try resizing the middle (rationale) view from both sides - if the upper resize bar is moved, the clas/instance toggles are lost - they reappear, when resized again. Some size computation is wrong. (a minor thing, but ugly) jan vrany 64 VM crashes in fclose() virtual machine defect vranyj1 accepted 2015-05-17T09:36:25+01:00 2016-09-04T03:37:17+01:00 "The Linux 32bit VM crashes (SEGV) in {{{fclose()}}} when running attached script. It may or may not be another incarnation of ""double-fclose"" of ""fseek-after-fclose"" bugs. " vranyj1 69 On Linux, use memcpy(), memset() and memchr() default todo new 2015-12-05T07:38:52Z 2015-12-05T08:12:19Z "...for those are usually twice as fast as hand-optimized C code. Not so on Windows (perhaps MS libc's implementation is not as good as GLIBC's). See results of [[https://bitbucket.org/janvrany/jv-knowledgebase/src/tip/C/bench-memchr.c|bench-memchr.c]] and [[https://bitbucket.org/janvrany/jv-knowledgebase/src/tip/C/bench-memcpy.c|bench-memcpy.c]] stx:stc commit 5ac5233bd4c4 enables them, but something then breaks (not usage of memchr(), though). The problem manifests itself in a funny way - some UI stylesheets are not properly initialized, code editor does not show some lines which appear when you scroll and so on. To check, try open settings dialog with some checkboxes. Commit 5ac5233bd4c4 has been reverted (4d7bb8c70853)" vranyj1 70 Make sure the system compiles with -Werror=implicit-function-declaration default defect new 2015-12-07T10:11:04Z 2015-12-07T10:11:04Z "...both Windows and Linux and both 32bit and 64bit. This is essential to avoid 32/64bit issues die yo missing prototypes (such as the one introduced in 29c5db48dd57/stx.libbasic which caused a crash of 64bit build due to a missing prototype of {{{__mkStringOrU16String_maxlen()}}}." vranyj1 71 STC does not online to:do: stc defect new 2015-12-26T07:40:29Z 2015-12-26T07:40:29Z ...which it should. Write test first. vranyj1 72 Use poll() instead of select() default defect new 2015-12-29T07:02:59Z 2015-12-29T07:02:59Z "... in {{{UnixOperatingSystem>>selectOnAnyReadable:writable:exception: readableInto:writableInto:exceptionInto:withTimeOut:}}} . Even better, use {{{epoll()}}} The problem with {{{select()}}} is that it cannot handle descriptors greater than {{{FD_SETSIZE}}} (defaults to 1024). This problem hits 64bit Linux system when running {{{RegressionTests>>testPipeWriteRead}}}" vranyj1 74 X11: Correctly calculate DPI in #verticalPixelPerInch default defect new 2016-02-29T06:34:41Z 2016-02-29T06:34:41Z "XWorkstation does not properly calculate {{{height}}} and {{{heightMM}}} so #verticalPixelPerInch return wrong value on multihead displays. The problem is that DisplayHeightMM() does not work with Xinerama well. One has to use XRandR [http://www.x.org/archive/X11R7.5/doc/man/man3/Xrandr.3.html XRRGetSizes()] to compute individual DPIs on each screen and then merge. A solution would be to do the same as for #monitorBounds and have #monitorBoundsMM that uses the XRandR call. Note, that [http://unix.stackexchange.com/questions/75344/how-does-x-server-calculate-dpi http://unix.stackexchange.com/questions/75344/how-does-x-server-calculate-dpi] the guy suggest that X.org since 1.7 hardcodes DPI to 96 as well as Gnome. Seems to be true based on my system... " vranyj1 77 The StX freezes after resizing the window VM support defect vranyj1 new 2016-04-15T13:07:06+01:00 2016-04-15T18:04:02+01:00 "Got to a minidebugger screen with the following error: IMG [warning]: Warning: cannot stat stx-bin.com (not in PATH ?) IMG [info]: executable and/or shared libraries changed address(es). IMG [info]: updating cached function pointers. Processor [info]: timeslicer started Smalltalk [info]: startup process 1 active. NoHandlerError: UndefinedObject does not understand: #width process: id=8 name=event dispatcher (local) context: UndefinedObject(Object) >> doesNotUnderstand: [16] ......: UndefinedObject(**NONE**) >> width [26] ......: Tools::CodeView2(DisplaySurface) >> clearDeviceRectangleX:y:width:heigh t: [26] ......: Tools::CodeView2(DisplaySurface) >> clearRectangleX:y:width:height: [26 ] ......: Tools::CodeView2(GraphicsMedium) >> clearView [6] ......: Tools::CodeView2(SimpleView) >> reinitStyle [11] ......: [] in WinWorkstation>>systemColorChange: >> value: [32] ......: Tools::CodeView2(SimpleView) >> withAllSubViewsDo: [4] ......: [] in SimpleView>>allSubViewsDo: >> value: [6] ......: Array >> from:to:do: [7] ......: OrderedCollection >> do: [4] ......: NoteBookView(SimpleView) >> allSubViewsDo: [5] ......: NoteBookView(SimpleView) >> withAllSubViewsDo: [5] ......: [] in SimpleView>>allSubViewsDo: >> value: [6] ......: Array >> from:to:do: [7] ......: OrderedCollection >> do: [4] ......: View(SimpleView) >> allSubViewsDo: [5] ......: View(SimpleView) >> withAllSubViewsDo: [5] ......: [] in SimpleView>>allSubViewsDo: >> value: [6] ......: Array >> from:to:do: [7] ......: OrderedCollection >> do: [4] ......: ApplicationWindow(SimpleView) >> allSubViewsDo: [5] ......: ApplicationWindow(SimpleView) >> withAllSubViewsDo: [5] ......: WinWorkstation >> systemColorChange: [31] ......: WinWorkstation >> dispatchLastEvent [0] ......: [] in WinWorkstation>>dispatchPendingEvents >> value [15] ......: AbortOperationRequest class(GenericException class) >> handle:do: [14] ......: WinWorkstation >> dispatchPendingEvents [12] ......: [] in DeviceWorkstation>>dispatchLoop >> value [26] ......: AbortAllOperationRequest class(GenericException class) >> handle:do: [1 4] ......: WinWorkstation(DeviceWorkstation) >> dispatchLoop [6] ......: [] in DeviceWorkstation>>setupDispatchLoop >> value [48] ......: Block >> ifCurtailed: [14] ......: [] in DeviceWorkstation>>setupDispatchLoop >> value [49] ......: Signal >> handle:do: [14] ......: WinWorkstation(DeviceWorkstation) >> setupDispatchLoop [30] ......: [] in DeviceWorkstation>>startDispatch >> value [14] ......: ExceptionHandlerSet >> handleDo: [14] ......: [] in Process>>start >> value [35] ......: SignalSet >> handle:do: [14] ......: [] in Process>>start >> value [23] ......: Block >> ensure: [12] ......: Process >> start [37] ......: UndefinedObject >> nil [0] ......: nil Type ""c"" to proceed, ""?"" for help MiniDebugger> " patrik.svestka@… 83 Font warnings - connected to Ms windows? default defect new 2016-04-25T16:36:58+01:00 2017-10-11T14:40:26+01:00 "When I start StX I always get these types of warnings in launcher - I wonder if that what is the reason for that? Font [warning]: encoding for ""a courier-medium-roman-10 (iso10646-1)-Font"" should be iso10646-1; is ms-easteurope Font [warning]: encoding for ""a courier-bold-roman-10 (iso10646-1)-Font"" should be iso10646-1; is ms-easteurope Font [warning]: encoding for ""a courier-medium-oblique-10 (iso10646-1)-Font"" should be iso10646-1; is ms-easteurope Font [warning]: encoding for ""a courier-bold-oblique-10 (iso10646-1)-Font"" should be iso10646-1; is ms-easteurope Font [warning]: encoding Font [warning]: encoding for ""a Segoe UI-bold-roman-9.0 (ms-default)-Font"" should be ms-default; is ms-easteurope for ""a symbol-medium-roman-10 (iso10646-1)-Font"" should be iso10646-1; is ms-symbol " patrik.svestka@… 85 Slider widget is not reacting to mouse events and sometimes to keyboard events (cursor keys) default defect new 2016-04-27T17:28:44+01:00 2017-03-08T10:42:09Z "Slider widget does not correctly react to events. Grabbing the caret with mouse does work always correctly. When you want to move the caret with clicking on the caret path it never does work. With the keyboard it is 50/50 (sometimes it works sometimes it does not) - clicking on the caret and moving it with keys. My guess is that the mouse clicking event on the caret gets ignored and that is why the moving with cursor keys sometimes works sometime not. I have included a short screencast to show the behavior. " patrik.svestka@… 87 Error when trying to find a Class (Classes -> Find Class) default defect new 2016-04-28T10:54:31+01:00 2016-05-06T10:19:17+01:00 "Classes -> Find Class User type: ""ras"" (the following error appears) perhaps a SmallSense issue? {{{ [AssertionFailedError]: This method can be called only from background update job {SmallSense::ClassSearchDialog(Object) >> assert:message: [8] } in process SmallSense search dialog updater [351] SmallSense::ClassSearchDialog(Object) >> assert:description: [] in SmallSense::AbstractListDialog>>updateMatching 'This method can be called only from background update job' {4837376} [14] SmallSense::ClassSearchDialog(Object) >> assert:message: [] in SmallSense::AbstractListDialog>>updateMatching 'This method can be called only from background update job' {4841472} [8] SmallSense::ClassSearchDialog(SmallSense::AbstractListDialog) >> updateMatching {4845568} [4] [] in SmallSense::AbstractListDialog>>initialize >> value {4849664} [16] BackgroundJob >> process: [] in SmallSense::AbstractListDialog>>initialize {4853760} [2] BackgroundJob >> process {4857856} [4] [] in AbstractBackgroundJob>>startWithPriority: >> value {4861952} [16] ControlInterrupt class(GenericException class) >> handle:do: [] in AbstractBackgroundJob>>startWithPriority: [] in AbstractBackgroundJob>>startWithPriority: {4866048} [14] [] in AbstractBackgroundJob>>startWithPriority: >> value {4870144} [8] Block >> ensure: [] in AbstractBackgroundJob>>startWithPriority: {4874240} [12] [] in AbstractBackgroundJob>>startWithPriority: >> value {4878336} [18] ExceptionHandlerSet >> handleDo: [] in AbstractBackgroundJob>>startWithPriority: {4882432} [14] [] in Process>>start >> value {4886528} [35] SignalSet >> handle:do: [] in Process>>start [] in Process>>start {4890624} [14] [] in Process>>start >> value {4894720} [23] Block >> ensure: [] in Process>>start {4898816} [12] Process >> start {4902912} [37] UndefinedObject >> nil {4907008} [0] }}} " patrik.svestka@… 88 UIPainter canvas with grid on shows artefacts when restarted from a snapshot. default defect new 2016-05-04T22:37:54+01:00 2016-05-18T09:35:02+01:00 "This is a follow up for #86 > Very good, that should help. The raster thing is indeed fishy and I > feel is first symptom. > The raster is implemented as on-the-fly generated bitmap which is then set as canvas background. So perhaps upon snapshot restart, something gets terribly wrong. Will see. ... > As for the raster issue: the problem is likely that the raster pixmap is created from scratch by drawing onto a Windowx bitmap. When an image is saved, the Form has not backing data so upon snapshot restart, the form is recreated but with random data (what used to be at place where Windows allocated them). > So, we need to save the data by #getBits before image is saved. That should fix it. " jan vrany 91 Raise all windows of a WindowGroup when any if it's windows is activated. default defect new 2016-05-18T21:37:32+01:00 2016-05-18T21:37:32+01:00 "When a window is activated, the other windows of the same windowgroup should be brought to the top (but below the activated window). For example, when user clicks to UI Painter window, then also a canvas window and widget galley window should be brought to the top. See https://groups.google.com/forum/#!topic/stx-jv/XB0Wlxe-Nr4 === Hints for implementation === '''X11''' Undex X11, the desired behavior can, perhaps, be acheved by properly setting {{{_WM_TRANSIENT_FOR}}} and {{{_NET_WM_WINDOW_TYPE}}} properties (see [[https://tronche.com/gui/x/icccm/|ICCCM]] and [[https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html |EWMH]]). If not, then we have to do it manually. This means: 1. Detect that window has been activated. There is no such notion in X11. One can, in theory, listen for [[https://tronche.com/gui/x/xlib/events/window-state-change/configure.html|ConfigureNotify]] event which should be sent whenever a window stacking order changes - such as when a window manager raises the window. 2. When window is activated, manually restack windows as desired using [[https://tronche.com/gui/x/xlib/window/XRestackWindows.html|XRestackWindows()]]. '''Windows''' Under Windows there's AFAIK no declarative way to achieve this so it has to be done manually. This means: 1. Detect that window has been activated. Luckily in that case, Windows send an application [[https://msdn.microsoft.com/en-us/library/windows/desktop/ms646274(v=vs.85).aspx|WM_ACTIVATE message]]. In Smalltalk/X when the message arrives {{WinWorkstation>>activate:view:}}} is sent. 2. When window is activated, manually restack windows as desired using [[https://msdn.microsoft.com/en-us/library/windows/desktop/ms632672(v=vs.85).aspx|BeginDeferWindowPos()]], [[https://msdn.microsoft.com/en-us/library/windows/desktop/ms632681(v=vs.85).aspx|DeferWindowPos()]] and [[https://msdn.microsoft.com/en-us/library/windows/desktop/ms633440(v=vs.85).aspx|EndDeferWindowPos()]]. See [[http://stackoverflow.com/questions/3282328/updating-the-z-order-of-many-windows-using-win32-api|example]]. Any taker? :-)" jan vrany 95 Convert Aidaweb from SVN repository to Mercurial one stc todo new 2016-06-21T13:50:39+01:00 2016-06-21T13:50:39+01:00 "There is an old port from SVN (3 packages total). Could you please conver it to Mercurial?" patrik.svestka@… 97 GUI Painter Load dialog window does not update correctly Selector section default defect new 2016-06-22T08:23:06+01:00 2016-06-22T08:23:06+01:00 The Load... dialog window does not correctly update/display Selector (e.g. windowSpec) for any class in section Categories (In Hierarchy part it seems to work correctly). patrik.svestka@… 99 An event for syntax highlighting is lost when reopening file or pasting code into Workspace default defect needs_work 2016-07-04T14:42:47+01:00 2017-03-10T10:32:05Z "A syntax of a source code is not highlighted when opened via Open File... or just copy & paste into Workspace. When typing the source code gets properly highlighted." patrik.svestka@… 101 Improve support for view renderers default todo new 2016-07-19T14:05:43+01:00 2016-07-19T14:05:43+01:00 "...i.e, improve ''SimpleView>>renderOrRedraw'': This (probably) means: 1. Define ''!SimpleView>>renderOrRedrawX:y:width:height:'' which by default fallbacks to ''!SimpleView>>redrawX:x:width:height:'' 2. Call the above from ''!SimpleView>>exposeX:''... 3. Define renderer protocol. This should allow for decoupling widget rendering from the view itself and customize it according to application and/or theme needs. However, changes to individual widgets might be needed to allow for actual customization as the widget rendering code is not well structured. But this would be a first step. " jan vrany 102 "Create a ""dark"" theme for Smalltalk/X" default todo patrik.svestka@… assigned 2016-07-19T14:09:06+01:00 2017-11-27T11:36:51Z "Pehaps, something based on Darkula which seems to be quite popular these days. Any taker? :-) See [[https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/darcula.properties|https://github.com/JetBrains/intellij-community/.../darcula.properties]]" jan vrany 104 VM hangs up (sometimes) when running PipeStreamTest>>testPipeWriteRead on Windows virtual machine defect new 2016-08-18T17:50:33+01:00 2016-09-04T03:35:53+01:00 "The VM just hangs up. No CPU consumption. Wait chain traversal reports a deadlock. This happens only on 32bit Windows and only on some systems, most notably on Jenkins build slave. '''Observations:''' * When number of reading/writing threads is 50 (variable `count`) then the test pass. With 58 threads it does not, i.e., hangs up * It is not possible to attach to the `stx.exe` process, the `DebugActiveProcess()` reports not enough memory to process command * Looking at it in WinDBG is just hopeless. " jan vrany 105 STC compiled forces result of #<, #<=, ... to be a boolean stc defect new 2016-08-21T09:33:58+01:00 2017-10-25T22:03:02+01:00 "..regardless of what a message actually returns. For example, assume following code: {{{ (self popI < 0) then:[ self goto: targetPC ] }}} when compiled by stc, result of `self popI < 0` is always a boolean (and always `false`) even if `#<` method returns another object! This is because STC tries to be smart and inlines fast !SmallInteger comparison to avoid send in common cases. It checks for both, receiver and argument being small integers but in a bad way: the code looks like: {{{ ( (isSmallInteger(rec) && isSmallInteger(arg)) // both smallints? ? __intVal(rec) < __intVal(arg) // if so, do a fast compare : __SSEND1(rec, @symbol(<), arg)== __STX_true // if not, perform a send ) ? __STX_true : __STX_false) }}} Of course, the check `==_STX_true) ? __STX_true : __STX_false` should be moved to inner branch doing the fast smallint compare. " jan vrany 113 During an StX update make error appears default defect new 2017-01-11T10:51:08Z 2017-01-11T10:51:08Z "An error appears at the end when performing `rake update compile`. The compile still finishes successfully with message `OKay, VM runs` {{{Fatal: '..\..\projects\smalltalk\h_win32.rc' does not exist - don't know how to make it}}} Jan said it is probably a Borland make issue." patrik.svestka@… 114 Chaning order (moving) of tabs with mouse within a tabbed window default defect new 2017-01-11T11:42:21Z 2017-01-11T14:47:04Z "Quite ordinary feature for tabbed windows to have the possibility to change the order of the tabs. It is quite handy if you want to have tab window near the code you are working with." patrik.svestka@… 116 cleanup CodeView2::TextView default defect new 2017-01-12T16:40:20Z 2017-01-12T16:40:20Z "drawing/redrawLines true ifTrue:[^self]. editing/deleteCharBeforeCursor ""BIG FAT WARNING: This method is copied from TextEditView, the fix should be there, but someone smarter should review it before the patch will be pushed up"" editing/getNewOriginText editing-basic/insertLines:someText from:start to:end before:lineNr formatting/leftIndentForLine:lineNr private/isTextDifferentFromOriginalSource private/updateReallyModified queries/syntaxElementForSelectedVariable " patrik.svestka@… 117 Possibility to click with mouse (or jump out via keyboard) on Category in browser when only partial name has been entered default defect new 2017-01-13T10:28:41Z 2017-01-13T10:28:41Z "When searching within a category using a SystemBrowser using a keyboard a small text field appears. User is unable to select a category he has been search for, using mouse or keyboard, when only partial name has been entered." patrik.svestka@… 118 A FileIn operation should make a diff original code <=> fileIn code default defect new 2017-01-13T13:41:11Z 2017-01-13T13:41:11Z Currently no changes are detected when you perform a FileIn. The StX should detect what Classes/methods were changed and highlight those. patrik.svestka@… 119 IntelliSense to work for local variables on Workspace default defect new 2017-01-16T18:22:20Z 2017-03-10T10:30:57Z "The IntelliSense ignores completely the local variables at |localVariable|. That means more typing when using Workspace. Jan suggested that it is similar issue to #99 (syntax highlighting)." patrik.svestka@… 121 High CPU usage in REPL on Windows default defect new 2017-03-03T21:13:57Z 2017-03-03T21:13:57Z "When St/X is started without access to graphical environment it enters a REPL. In Windows REPL causes high CPU usage. It seems that for whatever reason St/X keeps polling for I/O which is what burns the CPU. Note, that in order to reproduce this you need to run St/X in a way that it has no access to Winsta0 window station. One way to simulate this is to hack `WinWorkstation>>primInitializeFor:` to always return `nil`" jan vrany 123 Error on SmallSense (shown on launcher) when searching for a method in a browser default defect new 2017-03-08T08:42:23Z 2017-03-08T08:42:23Z "When using lastest build #2480. An error is produced when searching for a selector selectedKeyName. Class: SmallSense::CustomJavaSimpleSetterMethodsCodeGenerator Error: UndefinedObject does not understand: #instance Steps to reproduce: 1) start StX 2) open browser 3) in the search field (top right) enter a selector selectedKeyName 4) The error shown above is displayed in laucher." patrik.svestka@… 124 Selecting a text with mouse and pasting does not replace the text, it adds to it. default 8.1.0 defect needs_work 2017-03-08T08:58:42Z 2017-10-16T21:19:37+01:00 "How to reproduce? (the issue is in build #2480 the previously build StX works correctly - don't know the version as the Smalltalk versionBuildNumber returns empty string) 1) Open a workspace 2) Enter any code you wish 3) copy some text 4) select the text with mouse 5) paste it with ctrl+v (on windows)" patrik.svestka@… 129 Moving the input text carret in a search field in the Tools::NewSystemBrowser default defect new 2017-03-21T10:43:45Z 2017-03-21T10:43:45Z "It is impossible to use arrow keys or home/end keys in the right top search field (Tools::NewSystemBrowser) when searching for selectors. The same behavior is observed when one uses manual entry or copy&paste the selector name. " patrik.svestka@… 131 A 'del' ('delete') key pressed should follow same logic as on most editors today default defect patrik.svestka@… assigned 2017-03-27T08:30:33+01:00 2018-10-03T12:38:36+01:00 When a cursor is on an empty line pressing a delete key should move the rest of the code up. patrik.svestka@… 132 Variable highlighting should be consistent when selecting via mouse default defect new 2017-03-27T11:36:38+01:00 2017-03-28T08:42:30+01:00 "There is a nice functionality. When you double click on a variable all the instances are selected - this does not currently work correctly. It shows only some of the variables (when assigning value to a variable). More on the screenshots" patrik.svestka@… 135 Text editor: incorrect / unexpected behavior of Ctrl-Shift-Left/Right w.r.t. (word) selection default defect new 2017-05-03T21:09:55+01:00 2017-05-03T21:09:55+01:00 "Copied from comment #124, [[https://swing.fit.cvut.cz/projects/stx-jv/ticket/124#comment:16|comment 16]] '''Steps to reproduce:''' 1. Open an empty workspace and type three words as in: {{{ AAA BBB CCC }}} 2. Position cursor in the middle of word BBB and do select word (press Alt-w). Word BBB should be selected afterwards. 3. Try to extend the selection word-wise to the left by pressing ''Ctrl-Shift-Left'' '''Observed behavior''' I have tried this patch, part works part not. The part that works is pressing the alt+w (ad 2) ). That correctly select a word. The part that does not work, in my opinion, is ad 3). There if you press ctrl+shift+left it deselects the BBB part of the text and in subsequent press it select first the space between AAA BBB and then it select also AAA, but the BBB is deselected. I have also tested a combination ctrl+shift+right which partially works. It correctly selects space between BBB CCC, however, when I try to select with one more ctrl+shift+right keypress also CCC, when I have 10 empty lines it selects CCC, but also the all the 10 lines below it, probably till the EOF. The correct behavior, in my eyes, would be just to select CCC till the EOL instead of EOF." jan vrany 136 The debugger sometimes failes to display any debugging information (debugger goes blank!) default defect new 2017-05-04T08:31:44+01:00 2018-07-18T14:14:57+01:00 "The debugger on windows sometimes goes blank without displaying any information (Model is nil). Till now I have observed three patterns. only some are reproducible with specific steps - it is quite hard to find out a pattern for testing. It usually occurs when using StX for prolong period of time. The observations: * the debugger goes blank when you resize the window between two breakpoints - this is reproducible and I'll attach a short video of it * the debugger goes blank first time when you start a debugging process for a specific window (window group?). Any subsequent debugging windows are shown correctly. When you change and try to debug something else it repeats it self; the first window does not show anything the subsequent runs are fine. * the debugger goes blank every 2nd windows when you debug. This is probably the most annoying and simultaneously hardest to simulate. Did not yet find any pattern to reproduce this pattern. I'll attach video + screenshots from my observations." patrik.svestka@… 137 Moving right among multiple open tabs in SystemBrowser is nearly impossible (really annoying bug) default defect new 2017-05-04T08:50:19+01:00 2017-05-04T08:50:19+01:00 "If user has multiple tabs in SystemBrowser moving right using the button with arrow right is nearly impossible. It moves right for one or two tabs. Afterwards it resets its position to the original tab. The only solution that works is to click on a furthest tab and click on the arrow and repeat this procedure till you find your tab. There is also a weird behavior using mouse wheel. It works when scrolling to the left but it does not work when scrolling to the right. These bugs maybe connected. I did not yet investigate this bug." patrik.svestka@… 138 Unicode32String is really really slow when scrolling the text default defect new 2017-05-04T09:16:35+01:00 2018-03-21T14:32:51Z "I have observed that the Unicode32String is really really slow compared to the String or Unicode16String. Of course, Unicode32String can be somewhat slower as it contains more but current situation is, in my opinion, way too much. Second thing more serious but for which I don't have any proof yet. When the Unicode32String is running for long time (rendering the text) during which it uses 1 core of the multi-core CPU (due to the VM nature of StX) to the 100%, it corrupts memory - I left it running for more than 10 minutes and after like 8 minutes my opened browser (I had only one tab opened) started to behave really weird - the normal keys started to opened different tabs, configuration; to me this behavior is similar to memory corruption. You can try to leave the below code running for long time and you will see if this can be reproduced. The following code has String, Unicode16String, Unicode32String (uncomment the String comment block you want to run): {{{ maxCharBuffer := 10000. charToDisplay := 100000. ""/String ""contents := String new: charToDisplay. tempContents := String new."" ""/Unicode16String ""contents := Unicode16String new: charToDisplay. tempContents := Unicode16String new."" ""/Unicode32String contents := Unicode32String new: charToDisplay. tempContents := Unicode32String new. aLetterCollection := OrderedCollection new. startingLetter := $A. iterrations := (charToDisplay / maxCharBuffer). iterrations isInteger ifFalse:[ iterrations := (iterrations asFloat) floor + 1. ]. (1 to: iterrations) do: [:aNumber | aLetterCollection add: (((startingLetter asInteger - 1) + aNumber) asCharacter). ]. aLetterCollection do: [:aLetter| charToDisplay > maxCharBuffer ifTrue: [ pickContents := contents copyFrom:1 to:maxCharBuffer. pickContents replaceAll: Character space with: aLetter. tempContents := tempContents, pickContents. contents := contents copyFrom:(maxCharBuffer+1) to:charToDisplay. charToDisplay := charToDisplay - maxCharBuffer. ""/pickContents inspect. ""/tempContents inspect. ] ifFalse: [ remainingContents := contents copyFrom:1 to:charToDisplay. remainingContents replaceAll: Character space with: aLetter. contents := tempContents, remainingContents. ]. ]. top := StandardSystemView new. top extent:300@200. textView := EditTextView new. textView origin:0.0 @ 0.0 corner:1.0 @ 1.0. top addSubView:textView. textView contents: contents. top open. }}} " patrik.svestka@… 139 Uncommenting commented (menu -> more -> tools) code does not work neither using menu nor using shorcut F5 default defect new 2017-05-04T09:46:15+01:00 2017-05-04T09:46:15+01:00 "Uncommenting functionality is really handy during testing and this does not work at all. It just ignores the command." patrik.svestka@… 140 Commenting out (F4 or menu -> more -> tools -> comment out) code needs to improve the logic default defect new 2017-05-04T10:08:50+01:00 2017-05-05T08:16:47+01:00 "Commenting out code needs to improve the logic in these cases: * When selecting a block of code the last quotation marks ("") are at the end of the selected block and not at the end of the text, which should be the ""normal"" behavior. * When selecting block of code which contains comments already. The previous comments are ignored and such commenting out is unusable. For more see the screenshots." patrik.svestka@… 141 Wrong example in WinWorkstation>> pixelSizesInFamily default defect new 2017-05-04T10:39:27+01:00 2017-05-04T10:39:27+01:00 "The example below the code does not work {{{ pixelSizesInFamily:aFamilyName face:aFaceName style:aStyleName filtering:filterBlock ""return a set of all available font pixel sizes in aFamily/aFace/aStyle on this display. Redefined to handle the special case of 0-size (which stands for any)"" |sizes| sizes := super pixelSizesInFamily:aFamilyName face:aFaceName style:aStyleName filtering:filterBlock. (sizes notNil and:[sizes includes:0]) ifTrue:[ ""special: size 0 means: there are scaled versions in all sizes available"" ^ #(6 8 10 12 13 14 15 16 18 20 22 24 28 32 48 64) ]. ^ sizes "" Display pixelSizesInFamily:'courier' face:'bold' style:'roman' "" }}} I have a patch, I'll publish it when I get to it." patrik.svestka@… 142 Backspace deletes text outside the block instead of the whole block default defect new 2017-05-04T11:46:26+01:00 2017-05-04T11:46:26+01:00 I have recored it on video. I have filled out a text via suggestions (pressing enter). Then I have selected a block via mouse and pressed delete. It deletes a code before the block instead of the whole block as it normally should. patrik.svestka@… 143 Copy & paste path in Tools::ChangeSetBrowser2 does not find any file default defect new 2017-05-05T11:35:50+01:00 2017-05-05T11:35:50+01:00 "The issue here is when you copy & paste path from you clipboard and directly press enter afterwards - the file is not found. If you, on the other hand, press end it will find the file and you can continue." patrik.svestka@… 146 Revise RBContainsRule default todo new 2017-05-19T22:32:55+01:00 2017-05-19T22:32:55+01:00 "In my opinion, `RBContainsRule` should not bark on following code: {{{ foo: x | y | y := x detect:[:e | e odd ] ifNone:[ ^ nil ]. ^ y + 1. }}} Compare the implementation with Pharo one. " jan vrany 148 [Windows only] Fix annoying message Processor [info]: removing invalid read-select fileDescriptor:xindx:y default defect new 2017-06-20T10:29:28+01:00 2018-06-15T10:42:30+01:00 "This is really annoying message every time StX has to work with files on filesystem: {{{ Processor [info]: removing invalid read-select fileDescriptor: 9 idx: 2 Processor [info]: removing invalid read-select fileDescriptor: 15 idx: 2 }}} The number of messages varies time to time and is totally unpredictable. " patrik.svestka@… 151 Add missing option to alphabetically sort instance variables in Tools::Inspector2 default defect new 2017-07-10T11:37:11+01:00 2017-07-10T11:37:11+01:00 "It would be really helpful if there would be an option to sort the instance variables alphabetically by default, not after clicking on the ""Alphabetical"" menu option." patrik.svestka@… 152 Missing part of a text in a box default defect new 2017-07-10T11:39:57+01:00 2017-07-10T11:39:57+01:00 "When I was writing test cases I found out that the textView is cut short at the end of ""W"". For more see the screenshot." patrik.svestka@… 153 Make a unified interface for the embedded test runner in Linux default defect new 2017-07-10T11:43:34+01:00 2017-07-10T21:06:16+01:00 "The test runner stays on top on linux, which is a great thing, but It should not have any window decorations (except close). It should look the same in all linux environments (e.g. KDE, Xfce, Gnome, LXDE, etc.) I'm attaching a screenshot on Xfce" patrik.svestka@… 154 The embedded debugger on windows should behave the same way as on Linux default 8.0.0 defect reopened 2017-07-10T11:45:54+01:00 2018-10-26T10:52:10+01:00 "The embedded debugger should: * stay on top * should not have, if possible, any decorations except close * the cursor should change when you hoover over the picture button of the embedded debugger." patrik.svestka@… 155 [windows] smallsense should have bigger text box when giving suggestions default defect new 2017-07-10T11:49:48+01:00 2018-03-22T10:29:18Z The SmallSense is cutting short the text box on Windows - for more see the picture. patrik.svestka@… 156 For GUI testing merge #Delete and #BasicDelete textViewInteractor type. default defect new 2017-07-10T11:54:43+01:00 2018-10-03T12:38:52+01:00 "For some unknown reasons there are two types of delete in StX. It can be found at `EditTextView>> doKeyPress:key x:x y:y` There are two ""types"" of keys, I have not checked deeper yet. `#Delete is rawKey` `#BasicDelete is key` This should be harmonized as it makes testing much harder." patrik.svestka@… 157 Instance variables sorting in Debugger is broken (Clicking on Menu item Alphabetical does nothing) default defect new 2017-07-10T12:51:42+01:00 2017-07-10T12:51:42+01:00 "Clicking - Alphabetical on the instance variables space does nothing. Expected behavior: The instance variables are sorted based on Alphabetical order. During fixing it would be helpful to have an option available (same as in Inspector)." patrik.svestka@… 159 Selecting method Senders (does not matter which if the method or chain or local Senders) selects completely different part of the code default defect new 2017-07-11T15:20:01+01:00 2017-07-11T15:32:21+01:00 "For example when searching for senders of `ListView>>contents` it selects completely different text. You have to go through the code to find the actual selector name. (more see the attached picture) " patrik.svestka@… 160 Dialog box enlarges itself when adding instance variables default defect new 2017-07-13T12:50:19+01:00 2017-07-13T12:50:19+01:00 "Dialog box enlarges itself when typing OR even when you hold functional key like shift. For more see the attached video." patrik.svestka@… 161 Debug window appears when adding instance variables - blocking any furhter work default defect new 2017-07-13T13:16:49+01:00 2017-07-14T12:32:24+01:00 "When I add instance variable to ListView a debug window appears on both Windows and Linux. The steps to reproduce: 1) from ST/X laucher start systemBrowswer 2) press ctrl+shift+t for searching 3) search for method 'contents' 4) select the one from ListView 5) Right click on the instance variable space and click on Add (unclick setters and getters creation) 6) After while a debug window appears (as shown on attached screenshot) Note: When adding instance variable to EditTextViewTests nothing happends, but when adding it to EditTextView the same thing happens as with the ListView" patrik.svestka@… 163 failing_regression_test_libjava_inspect default defect new 2017-07-19T08:49:25+01:00 2017-07-19T08:49:25+01:00 Failing `rake test` on Windows. Attaching the xml log file. patrik.svestka@… 164 Click on method name with mouse when searching for the result default defect new 2017-07-19T11:22:25+01:00 2017-07-27T07:38:53+01:00 It is impossible to use mouse when you want to search for method and then click, you have to use only shift+arrow. For more see the screenshot. patrik.svestka@… 165 Not all spaces are created equal default defect testing 2017-07-26T16:32:03+01:00 2017-10-11T15:01:25+01:00 "This issue is a tricky one. When a space is created between two strings (e.g. two words) and then enter is pressed then this spaces represents end of the line and end of the string. If you create additional spaces via spacebar or just arrow keys you can not influence the length of such string. Even pressing END key returns to this invisible end of a line. All other keys like delete or backspace still see this as end of the line. Not in a case that you create the space via spacebar such space is just ignored and deleted - e.g. via backspace and ignored by end of line keys like key END. More to see on the attached video" patrik.svestka@… 166 Removed line breakpoints block the test result icon default defect new 2017-07-28T07:59:23+01:00 2017-07-28T07:59:23+01:00 "When you remove a break point in a test (via the line breakpoint functionality) you will see an empty circle (on both the line and the test). When you run a test you will not see the icon change based on the result you will still see only that there was a line break. This can be removed only by using the remove breakpoints (green semaphores) then you can see the test result. I think it is nice to see where you had the breakpoints or you have active breakpoints but it should not interfere with the testing functionality. What should be the best solution? Well either indicate the breakpoints via different means like rectangle around the circle when inactive or when active filled out rectangle with circle filled according to the test result. To show the issue I have created a video. see the attachment." patrik.svestka@… 167 Lock symbol database file only when its being updated stc todo new 2017-07-28T13:18:29+01:00 2017-07-28T13:18:29+01:00 "As of now, stc locks symbol database file while it's running. This prevents parallel builds as more than one stc may be accessing the symbol database file. In most case the symbol is found in the database so no update is needed. stc should use shared read lock while reading it and exclusive write lock when updating it to allow parallel builds. --- The functions that have to be fixed are: * `lockSymFile()`, `unlockSymFile()` (use OS-provided file locks) * call `lockSymFile()` and `unlockSymfile()` with read lock when reading it in `readSymFile()` and use write lock when updating it in `findSymAddr()`. As for the locking, on POSIX systems use POSIX file locks, on Windows, check following example: {{{ // crt_fsopen.c #include #include #include int main( void ) { FILE *stream; // Open output file for writing. Using _fsopen allows us to // ensure that no one else writes to the file while we are // writing to it. // if( (stream = _fsopen( ""outfile"", ""wt"", _SH_DENYWR )) != NULL ) { fprintf( stream, ""No one else in the network can write "" ""to this file until we are done.\n"" ); fclose( stream ); } // Now others can write to the file while we read it. system( ""type outfile"" ); } }}} " jan vrany 168 HiDPI Cairo scaling default todo new 2017-07-31T13:08:48+01:00 2017-07-31T21:26:51+01:00 Is it possible to have Cairo HiDPI scaling? It would be very useful to have it as the age of high-resolution displays is here. patrik.svestka@… 170 Pasting in StX should behave in what is now standard way of behavior default 8.1.0 defect new 2017-08-07T14:26:35+01:00 2017-10-16T21:20:07+01:00 "A pasting in StX does not behave as is now considered common sense. When you paste additional `Smalltalk` strings the original `Smalltalk` string remains selected. In my eyes that should not be the case. The rectification is matter of personal view, best would be to follow what is now considered a standard. Maybe better solution would be selecting new pasting OR unselect the original pasting and just move the cursor behind the last pasting (that is the ""normal"" behavior of today's text editors)." patrik.svestka@… 173 Smalltalk/X loading from image fails default defect new 2017-08-17T07:53:21+01:00 2017-08-17T07:53:21+01:00 "Steps to reproduce: 1) start stx (with quickstart) 2) open a workspace 3) open a browser - search for EditTextViewTests and open it - run the tests 4) save the image 5) close the stx 6) start from the image produces errors - `MEM [error]` I'm attaching a full log to this ticket" patrik.svestka@… 174 Implement incremental oldspace compaction virtual machine todo new 2017-09-03T08:19:54+01:00 2017-09-03T08:19:54+01:00 "Implement incremental oldspace compaction. Following looks simple enough: ''An Algorithm for Parallel Incremental Compaction'' Ori Ben-Yitzhak, Irit Goft, Elliot K. Kolodner, Kean Kuiper and Victor Leikehman" jan vrany 175 Indicate action when performing 'Search String....' on Browser icon default defect new 2017-09-08T09:47:46+01:00 2017-09-08T13:20:12+01:00 "When a search for a String is performed there is no indication of St/X doing so. If the search is long user has no way of knowing if the searching is still running or something went wrong with the St/X. How to correct it? Somehow indicate that the search is running. What comes into my mind: change mouse cursor, indicate in launcher window with message on taskline, or show a dialog window that searching is in progress. I'm sure there are many ways to indicate it, but this should not be missing in my opinion." patrik.svestka@… 177 [windows] PDB debugging information available so the tools can be used to debug & trace Smalltalk/X on Windows default defect new 2017-09-26T08:08:36+01:00 2017-09-26T08:08:36+01:00 "It would be really helpful to be able to debug StX on windows using PDB file. Maybe possible to use DWARF to PDB convertor: [https://github.com/rainers/cv2pdb] Information about MS PDB format to make it compatible for Clang/LLVM etc. (does not currently build): microsoft-pdb repo contains information from Microsoft about the PDB (Program Database) Symbol File format - [https://github.com/Microsoft/microsoft-pdb]. " patrik.svestka@… 178 Selecting methods via shift + arrow does not work properly default defect new 2017-09-26T12:52:25+01:00 2017-09-26T12:52:25+01:00 "When selecting methods using shift + arrow key (e.g. down) works only when selecting in one direction. If you want to deselect already selected method(s) via shift + arrow key (e.g. up) the selection extends on the other end of the selection box. wanted result: When selecting methods the reverse action, in this scenario, a up key should deselect the last selected method." patrik.svestka@… 179 embedded debugger weird results default defect new 2017-09-29T15:16:24+01:00 2017-09-29T15:16:24+01:00 "I have been creating a tests with mockMethod: / unmockMethod:. When I'm running just single tests the tests do not pass, but when run as `run all` the tests' pass. The last test does not pass when run as `run all` but when executed alone it does pass. I'm attaching a video to show what is exactly going on. Today I have encountered really weird behavior, which Jan suggests could be either some kind of race condition or tests being dependent on each other. The tests shown on videos are: {{{ test_issue124_case1_02a "" See https://swing.fit.cvut.cz/projects/stx-jv/ticket/124#comment:19 "" MessageTracer mockMethod:(UserPreferences instanceBehavior compiledMethodAt:#st80EditMode) do:[:state | UserPreferences current st80EditMode:true]. textView contents:'1234'. textView setCursorCol:3. textView selectToEndOfLine. self assert:textView selectionAsString = '34'. textView setClipboardText:'1-LINEA 2-LINEB 3-LINEC '. textViewInteractor type:#Paste. self assert:textView selectionAsString = '1-LINEA 2-LINEB 3-LINEC '. self assert:textView contents asString = ('121-LINEA 2-LINEB 3-LINEC '). textViewInteractor type:#Undo. MessageTracer unmockMethod:(UserPreferences instanceBehavior compiledMethodAt:#st80EditMode). self assert:textView contents asString = ('1234' , Character cr). }}} and {{{ test_issue124_case1_02b "" See https://swing.fit.cvut.cz/projects/stx-jv/ticket/124#comment:19 "" MessageTracer mockMethod:(UserPreferences instanceBehavior compiledMethodAt:#st80EditMode) do:[:state | UserPreferences current st80EditMode:false]. textView contents:'1234'. textView setCursorCol:3. textView selectToEndOfLine. self assert:textView selectionAsString = '34'. textView setClipboardText:'1-LINEA 2-LINEB 3-LINEC '. textViewInteractor type:#Paste. self assert:textView selectionAsString = '1-LINEA 2-LINEB 3-LINEC '. self assert:textView contents asString = ('121-LINEA 2-LINEB 3-LINEC '). textViewInteractor type:#Undo. MessageTracer unmockMethod:(UserPreferences instanceBehavior compiledMethodAt:#st80EditMode). self assert:textView contents asString = ('1234' , Character cr). }}} and {{{ test_02d ""Checking if white spaces on a blank line are preserved. Scenario: 1) ensures trimBlankLines is set to true 2) enter text with String crlf in the middle, which moves the text after crlf to next line 3) move cursor to end first line 4) enter white spaces 5) move cursor to the next line 6) press backspace 7) assert: that textView contents returns a text disregarding the white spaces entered"" |wasOn| MessageTracer mockMethod:(UserPreferences instanceBehavior compiledMethodAt:#trimBlankLines) do:[:state | UserPreferences current trimBlankLines:true]. textView contents:'This text is to', String crlf, 'continue'. wasOn := textView hideCursor. textView setCursorLine:1. textView setCursorCol:16. wasOn ifTrue:[ textView showCursor ]. textViewInteractor type: Character space. textViewInteractor type: Character space. textViewInteractor type: Character space. wasOn := textView hideCursor. textView setCursorLine:2. textView setCursorCol:1. wasOn ifTrue:[ textView showCursor ]. textViewInteractor type: #BackSpace. MessageTracer unmockMethod:(UserPreferences instanceBehavior compiledMethodAt:#trimBlankLines). self assert:textView contents asString = ('This text is tocontinue', String crlf). }}} " patrik.svestka@… 180 Add support for DTrace build scripts 8.1.0 todo new 2017-10-09T20:22:15+01:00 2017-10-13T10:46:02+01:00 "Smalltalk/X has very basic support for [[https://sourceware.org/systemtap/|SystemTap]] for some time but we can do better. We should use probe definition file (`.d`). This would have several advantages: * it would make it compatible with *BSD & macOS DTrace * it would allow to use `..._ENABLED()` macros when appropriate. * probe definition file makes a good place to document which probes are available and what's the meaning of the parameters (if any) The downside of this is that we'd have to provide our own ""fake"" implementation of `dtrace` command to generate empty macros on platforms with no DTrace support. Ideally this fake implementation should be implemented in Ruby as Ruby is needed to build Smalltalk/X anyway. " jan vrany 181 "New configuration settings for modes: ""Sheet of paper"" and ""Text editor""" default 8.1.0 todo new 2017-10-11T15:05:24+01:00 2017-10-16T07:20:31+01:00 Create a new setting for current mode `Sheet of paper` and create a new setting for `Text editor` which would include currently opened tickets #165, #131, etc. patrik.svestka@… 187 Add (better) support for themes to code editor default todo new 2017-12-05T11:35:35Z 2018-10-12T08:45:04+01:00 "Currently, one can only change syntax highlighter colors but many other remains hardcoded or cannot be altered easily (like background, selection color, cursor color and so on). The aim of this is to improve the support for themes and make it easy (easier) to provide new code editor themes and document how to do so. This is a ""sister TODO"" to #102." jan vrany 190 `Image fromView:` and `Image fromScreen` fails in XWayland sessions default defect testing 2018-01-04T20:42:29Z 2018-03-03T08:34:18Z "When running Smalltalk/X under Wayland (via XWayland since there's no native Wayland support yet). reading the contents of a screen or of a (smalltalk) window fails. To reproduce: {{{ Image fromScreen }}} {{{ Image fromView: Transcript topView grab: false }}} The problem is that [[https://tronche.com/gui/x/xlib/graphics/XGetImage.html|XGetImage()]] fails with `BadMatch`. It seems that `XGetImage()` is simply not supported by XWayland **![1]**. To capture whole screen (i.e., to support `#fromScreen:`) under GNOME we may use D-BUS interface to generate a screen capture to a `.png` and read it back **![2]**, **![3]**, **![4]**. Under KDE or other Wayland compositors, who knows... **![1]**: https://github.com/LibVNC/x11vnc/issues/5 **![2]**: https://github.com/LibVNC/x11vnc/commit/528baf729f300de12c963e09d509d29d4f44ec1f **![3]**: https://mail.gnome.org/archives/commits-list/2013-January/msg00410.html **![4]**: http://www.matthew.ath.cx/misc/dbus " jan vrany 191 "Smalltalk/X batch launcher fails when custom options contain ""tricky"" characters for batch files" default defect testing 2018-01-24T11:49:26Z 2018-04-26T10:05:03+01:00 "During my batch file testing I have identified a batch file deficiency. When a user uses one of the following characters in the Smalltalk/X options: `? ; <&|>! ""<&|>!""` the batch files ""consumes"" such option. Smalltalk/X is then started without such an option. I'm trying to solve this issue with the help of the great developers at Stackoverflow: https://stackoverflow.com/questions/48303106/why-string-with-question-mark-is-not-printed-in-the-for-batch-statement/48326758?noredirect=1#comment83673929_48326758" patrik.svestka@… 193 SmallSense tab key to fill functionality does not always work default defect new 2018-03-08T11:47:18Z 2018-03-08T11:47:18Z "The issue is that the first time `tab` key works. The second time it works only partially (notice the black r letter) and third time it does not work at all. The pop-up window goes just black without filling in the wished message. Please see the attached screen-cast for details" patrik.svestka@… 194 SmallSense to work with single mouse click when using suggestion default defect new 2018-03-08T12:05:00Z 2018-03-08T12:05:00Z "The SmallSense suggestion pop-up window works only with double click. It should works also with single click or configurable option (single/double click) or work with both." patrik.svestka@… 195 SmallSense does not reflect new workspace reality default defect new 2018-03-08T12:58:03Z 2018-03-08T12:58:03Z "When using workspace, then if you type 's' then a pop-up window appears. If one wants to correct it to capital 'S', the original window still hangs there. The original small letter 's' was a typo. I wanted to correct it but the pop-up list did not change at all. You had to first select something or escape it, before you could see the new pop-up window with the messages that started with capital 'S'." patrik.svestka@… 196 SmallSense auto-complete when completion is unambiguous does not always work default defect new 2018-03-08T13:21:22Z 2018-03-08T13:21:22Z "I have found it during today's testing session. I'm using the ""auto-complete when completion is unambiguous"". Sometimes it works correctly and sometimes it does not trigger. Please see attached screencast." patrik.svestka@… 198 more->tools->format (aka alt + shift + f) destroyes Unicode string default defect new 2018-03-22T15:28:52Z 2018-03-22T15:28:52Z "When formatting is used to ""format"" the source code the: {{{ test_issue_126_font_size_24 "" https://swing.fit.cvut.cz/projects/stx-jv/ticket/126 "" | fontSize fontList testString topView textView image allColors | fontSize := #(8 12 24 48 96 288). fontList := Display listOfAvailableFonts. fontList do:[:fontFamily | fontSize do:[:selectedFontSize | [ testString := Unicode16String new. testString := 'コーヒーアイスクリームケーキビールすしかき'. topView := StandardSystemView new. topView extent:300@200. textView := EditTextView new. textView origin:0.0 @ 0.0 corner:1.0 @ 1.0. topView addSubView:textView. ""/ courier sizes 8, 12, 24, 48, 96, 288 ""/textView font:(Font family:'courier' size:12). textView font:(Font family:(fontFamily asString) size:(selectedFontSize asNumber)). 1 to: 1000 do: [ :each | textView paste:testString ]. textView unselect. topView open. ""/ wait for the topView to appear Delay waitForSeconds:1. image := Image fromView: topView grab: false. ""/ x starts from 20 to avoid cursor (its color) allColors := Set new. 1 to: 20 do: [:y| 20 to: 40 do: [:x | allColors add: (image colorAtX:x y:y)]. ]. ] ensure:[ topView close. ]. self assert: (allColors size > 1) ]. ] ""Created: / 22-03-2018 / 16:20:04 / svestkap"" }}} becomes (notice the tempString value: {{{ test_issue_126_font_size_24 "" https://swing.fit.cvut.cz/projects/stx-jv/ticket/126"" |fontSize fontList testString topView textView image allColors| fontSize := #( 8 12 24 48 96 288 ). fontList := Display listOfAvailableFonts. fontList do:[:fontFamily | fontSize do:[:selectedFontSize | [ testString := Unicode16String new. testString := 'コーヒーアイスクリームケーキビールすしかき' utf8Decoded. topView := StandardSystemView new. topView extent:300 @ 200. textView := EditTextView new. textView origin:0.0 @ 0.0 corner:1.0 @ 1.0. topView addSubView:textView. ""/ courier sizes 8, 12, 24, 48, 96, 288 ""/textView font:(Font family:'courier' size:12). textView font:(Font family:(fontFamily asString) size:(selectedFontSize asNumber)). 1 to:1000 do:[:each | textView paste:testString ]. textView unselect. topView open. ""/ wait for the topView to appear Delay waitForSeconds:1. image := Image fromView:topView grab:false. ""/ x starts from 20 to avoid cursor (its color) allColors := Set new. 1 to:20 do:[:y | 20 to:40 do:[:x | allColors add:(image colorAtX:x y:y) ]. ]. ] ensure:[ topView close. ]. self assert:(allColors size > 1) ]. ] ""Created: / 22-03-2018 / 16:20:04 / svestkap"" }}} " patrik.svestka@… 199 SmallSense suggestion does not unselect user written code or the code suggested is being ignored default defect new 2018-04-03T09:51:41+01:00 2018-05-22T09:23:39+01:00 "When using SmallSense suggestion pop-up the already written text is to be continued even after code has been selected from pop-up suggestion window. Please see the working example demo in the attached screencast. Simple type (when filled continue typing - then construct `[:each | ]` is deleted): {{{ 1 to: 10000 do: }}} " patrik.svestka@… 201 [windows-only] remove the always true color hack for StX default defect new 2018-04-06T11:19:28+01:00 2018-04-06T13:42:22+01:00 "It appears that on windows Smalltalk/X is using a **hack** in order to force only 24bit color depth. I think StX should adjust to the user's depth. It should not be hardcoded. The valid excerpts from `WinWorkstation.st`: {{{ #define ALWAYSTRUECOLOR }}} {{{ #ifdef ALWAYSTRUECOLOR __depth = 24; /* its a hack */ #else __depth = __realDepth; if (__depth == 15) __depth = 16; #endif }}} " patrik.svestka@… 202 Depth8Image error when starting StX in 8bit depth default defect new 2018-04-11T11:32:09+01:00 2018-04-11T11:32:09+01:00 "I have tried running Smalltalk/X in 8bit resolution and I got an `Depth8Image` error. (see the error log). " patrik.svestka@… 203 For any unsupported depth Smalltalk/X should print out a simple message that this depth is unsupported default defect new 2018-04-11T11:33:42+01:00 2018-04-11T11:33:42+01:00 If any depth are unsupported, e.g. 8bit or Monochromatic StX should print out a message such depths are unsupported. patrik.svestka@… 204 Check integer conversions default todo new 2018-04-13T09:35:39+01:00 2018-04-13T09:35:39+01:00 Issue #200 was caused by using too narrow integer type for indexing. There may be other cases like this, though. One can use GCC's `-Wconversion` to check for this in other code. Ideally, system should compile with -Werror=conversion`. jan vrany 206 When memory is exhausted the SmalltalkX environment is locked default defect new 2018-04-23T11:49:48+01:00 2018-04-23T11:49:48+01:00 "When you exhaust the available memory like: {{{ test := OrderedCollection new. 'コーヒーアイスクリームケーキビールすしかき空' permutationsDo:[:each | test add: (each copy)] . test size. }}} The whole environment is unusable and on stderr user gets a message (repeated every few seconds): {{{ MEM [warn] (18-04-23 12:19:19): memory limit (8192 Mb) reached (requested 4096 Kb) }}} " patrik.svestka@… 207 When using 16bit depth Image fromView:grab: produces 24bit image default defect new 2018-04-25T09:05:08+01:00 2018-04-25T09:37:42+01:00 "When running 16bit depth in linux (on windows the 24bit is fixed see #201). Creating a snapshot image via e.g. `Image fromView:textView grab:false.` produces a 24bit image. " patrik.svestka@… 208 [linux-only] Error XftFontDescription does not understand: #xftDrawDestroy during finalization of: default defect new 2018-04-25T15:28:34+01:00 2018-04-27T10:52:18+01:00 "This error is shown at StX 6.x on linux Most likely cause is `XftFontDescription>>#finalize` The selector #finalize contains: `self xftDrawDestroy` but I could not find #xftDrawDestroy anywhere. I got this error when running test for the #126 on linux (I did not have the windows detection there). If you have `FontTests` from #126 you could add the following code (which could be substantially signified - I'm using the test framework where I discovered the error) : {{{ ""{ Encoding: utf8 }"" ! !FontTests methodsFor:'tests'! test_issue_208_XftFontDescription_does_not_understand_xftDrawDestroy "" Testing long strings display. The test takes shown textView and tries to find out non-white pixels. For more visit: https://swing.fit.cvut.cz/projects/stx-jv/ticket/126"" self skipIf: (DeviceWorkstation current isX11Platform not) description: 'Not a X11 Platform.'. fontList do:[:font | testFontSize do:[:preselectedFontSize | | setFontSize fontAtSize | [ (font size = 0.0) ifTrue:[setFontSize := preselectedFontSize] ""/TrueType font ifFalse:[setFontSize := font size]. ""/Raster font fontAtSize := (font copy asSize:setFontSize) onDevice:textView device. textView font:fontAtSize. textView contents: testString. self assert:(font shouldImplement: 'xftDrawDestroy'). ] ensure:[textView contents:nil]. ]. ] ""Created: / 25-04-2018 / 16:29:11 / smalltalk"" ! ! }}} " patrik.svestka@… 209 HierarchicalListEditor gives obsolete #valueOfCanCut' method is obsolete. default defect new 2018-04-25T15:47:57+01:00 2018-04-26T11:19:44+01:00 "When clicking on the 'Hierarchical List Editor' on GUI Pointer it does not start the editor only shows warning: {{{ WARNING: the 'ToolApplicationModel >> #valueOfCanCut' method is obsolete. And may not be present in future ST/X versions. called from HierarchicalListEditor(Object) >> perform: [32] called from HierarchicalListEditor(ApplicationModel) >> aspectFor: [18] ------> stupid name - use #canCutHolder }}} " patrik.svestka@… 211 Right-click menu jumping erratically after starting and changing window focus default defect new 2018-04-27T09:48:36+01:00 2018-04-27T09:48:36+01:00 "This is annoying error when trying to follow tutorial and learning something. If you start right-click menu and leave it opened then switch context to other window and return back the menu starts behaving erratically make it it unusable until you close it via `ESC`. See more on screencast. " patrik.svestka@… 212 "Initial project commit from Smalltalk/X should not generate ""[MessageNotUnderstood]:""" default defect new 2018-04-27T10:35:53+01:00 2018-04-27T10:37:42+01:00 "I have tried to follow the tutorial for the new application (https://swing.fit.cvut.cz/projects/stx-jv/wiki/Tutorials/DevelopingAndDeployingAnApplication). However, when I tried to create first commit (the repository was already created via `hg init`) I got a error message: {{{ [MessageNotUnderstood]: UndefinedObject does not understand: #log:limit: in process NewSystemBrowser [5] }}} For more see the screenshot: [[Image(ticket:212:message_not_understood_#log_limit.png,1024px)]] " patrik.svestka@… 213 Error while compiling an application on windows default defect new 2018-05-02T10:19:09+01:00 2018-05-02T10:30:18+01:00 "I'm trying to compile Smalltalk application on windows, but I'm suddenly getting ld.exe stopped working (I've followed the tutorial on https://swing.fit.cvut.cz/projects/stx-jv/wiki/Tutorials/DevelopingAndDeployingAnApplication) The application executable is created but the linker `ld.exe` should not hang at the end. Perhaps it is connected to this reported issue? [http://www.mingw.org/category/wiki/ld_exe] [[Image(ticket:213:ld_error_message.png,1024px)]]" patrik.svestka@… 214 The application skin should be taken from the Smalltalk/X currrent skin or be somehow configurable default defect new 2018-05-02T10:23:19+01:00 2018-05-02T10:28:30+01:00 "When a new application is created the skin selected should copy the one from Smalltalk/X or the user should be able to pick a skin which he would like. See for yourself: [[Image(ticket:214:application_skin.png,1024px)]]" patrik.svestka@… 215 Smalltalk Link: Parse error on empty method default defect new 2018-05-09T10:36:32+01:00 2018-05-09T10:36:32+01:00 "I have seen this message `Smalltalk Lint: Parse error: invalid method specification [Line 1]` when guessing method. [[Image(ticket:215:Smalltalk_Lint_empty_method_error.png,1024px)]] Got also that when using a simple method. [[Image(ticket:215:simple_method_error.png,1024px)]]" patrik.svestka@… 216 SmallSense suggestions do not work properly with subclasses default defect new 2018-05-10T10:51:02+01:00 2018-05-10T10:51:02+01:00 "I wanted to write `Win32OperatingSystem::RegistryEntry`. However SmallSense gave me an option `Win32OperatingSystem` followed with all the subclasses prefixed by `::`. When I filled the `Win32OperatingSystem` and tried to continue with `::` the suggestion window disappeared. After continuing typing after `::R` the suggestion reappeared but with the complete suggestion `Win32OperatingSystem::RegistryEntry`, but I have already `Win32OperatingSystem::R`. If I select the suggestion I end up with: `Win32OperatingSystem::Win32OperatingSystem::RegistryEntry` A proposed solution: The SmallSense should take in account `::` when giving suggestions (it should not interrupt the suggestion process)." patrik.svestka@… 217 [MessageNotUnderstood]: WinWorkstation does not understand: #monitorBounds in process ST/X Launcher [12] default defect new 2018-05-10T11:03:57+01:00 2018-05-10T11:03:57+01:00 "When trying to bring window to current screen on Windows with `Bring Onto Screen...` I'm betting debugging window with message: `[MessageNotUnderstood]: WinWorkstation does not understand: #monitorBounds in process ST/X Launcher [12]` Trying to bring window to current screen: [[Image(ticket:217:Bring_onto_screen.png,1024px)]] Debugger window with missing message: [[Image(ticket:217:debugger_with_message_monitorbounds.png,1024px)]] " patrik.svestka@… 218 Smalltalk/X does not start from saved image default defect new 2018-05-11T10:20:38+01:00 2018-05-21T08:18:03+01:00 "After lengthy session I've stored my work at image but when I tried to start from it I got to minidebugger with all windows blank. The short message: {{{ WinWorkstation [info]: CreateWindow S failed: 1406 (0x57e) [4770] WinWorkstation [error]: CreateWindow failed: 1406 (0x57e) [9022] NoHandlerError: primitive failed: a WinWorkstation(WinSta0)>>setEventMask:in: }}} When started with `--abortOnSIGSEGV` option got this Error stack: {{{ WinWorkstation [info]: CreateWindow S failed: 1406 (0x57e) [4770] WinWorkstation [error]: CreateWindow failed: 1406 (0x57e) [9022] NoHandlerError: primitive failed: a WinWorkstation(WinSta0)>>setEventMask:in: process: id=1 name=scheduler context: WinWorkstation >> setEventMask:in: [24] ......: ScrollBar(SimpleView) >> recreate [26] ......: ScrollBar(SimpleView) >> reinitialize [25] ......: ScrollBar >> reinitialize [2] ......: [** intermediate recursive contexts skipped **] ......: ScrollBar >> reinitialize [2] ......: ArrowButton(SimpleView) >> reinitialize [16] ......: [** intermediate recursive contexts skipped **] ......: ArrowButton(SimpleView) >> reinitialize [16] ......: ArrowButton(Button) >> reinitialize [2] ......: [** intermediate recursive contexts skipped **] ......: ArrowButton(Button) >> reinitialize [2] ......: [] in DeviceWorkstation>>reinitializeFor: >> value [67] ......: Signal >> handle:do: [14] ......: [] in DeviceWorkstation>>reinitializeFor: >> value [63] ......: SignalSet >> handle:do: [14] ......: SignalSet >> catch: [11] ......: [] in DeviceWorkstation>>reinitializeFor: >> value: [62] ......: [] in WeakValueDictionary>>do: >> value: [5] ......: [** intermediate recursive contexts skipped **] ......: [] in WeakValueDictionary>>do: >> value: [5] ......: WeakValueDictionary(Dictionary) >> do: [21] ......: WeakValueDictionary >> do: [2] ......: [** intermediate recursive contexts skipped **] ......: WeakValueDictionary >> do: [2] ......: WinWorkstation(DeviceWorkstation) >> reinitializeFor: [58] ......: WinWorkstation(Object) >> perform:with: [31] ......: MessageNode >> evaluateIn:forCascade: [32] ......: MessageNode >> evaluateIn: [2] ......: StatementNode >> evaluateExpressionIn: [2] ......: StatementNode >> evaluateAllIn: [7] ......: StatementNode >> evaluateIn: [2] ......: StatementNode(ParseNode) >> evaluate [2] ......: BlockNode >> value [7] ......: [] in BlockNode>>doesNotUnderstand: >> value [10] ......: [** intermediate recursive contexts skipped **] ......: [] in BlockNode>>doesNotUnderstand: >> value [10] ......: Block >> on:do: [11] ......: Block(Object) >> perform:withArguments: [135] ......: Message >> sendTo: [4] ......: BlockNode >> doesNotUnderstand: [30] ......: BlockNode(**NONE**) >> on:do: [31] ......: BlockNode(Object) >> perform:with:with: [31] ......: MessageNode >> evaluateIn:forCascade: [36] ......: MessageNode >> evaluateIn: [2] ......: StatementNode >> evaluateExpressionIn: [2] ......: StatementNode >> evaluateAllIn: [7] ......: StatementNode >> evaluateIn: [2] ......: StatementNode(ParseNode) >> evaluate [2] ......: BlockNode >> value [7] ......: True >> ifTrue: [8] ......: True(Object) >> perform:with: [31] ......: MessageNode >> evaluateIn:forCascade: [32] ......: MessageNode >> evaluateIn: [2] ......: StatementNode >> evaluateExpressionIn: [2] ......: StatementNode >> evaluateAllIn: [7] ......: StatementNode >> evaluateIn: [2] ......: StatementNode(ParseNode) >> evaluate [2] ......: [] in Parser>>evaluate:in:receiver:notifying:logged:ifFail:compile:checkForEndOfInput: >> value [138] ......: QuerySignal >> answer:do: [10] ......: [] in Parser>>evaluate:in:receiver:notifying:logged:ifFail:compile:checkForEndOfInput: >> value [120] ......: UndefinedVariableError class(GenericException class) >> handle:do: [14] ......: ByteCodeCompiler(Parser) >> evaluate:in:receiver:notifying:logged:ifFail:compile:checkForEndOfInput: [113] ......: ByteCodeCompiler(Parser) >> evaluate:receiver:notifying:compile: [3] ......: EncodedStream(PeekableStream) >> fileInNextChunkNotifying:passChunk:silent: [37] ......: EncodedStream(PeekableStream) >> fileInNextChunkNotifying:passChunk: [14] ......: [] in EncodedStream>>basicFileInNotifying:passChunk: >> value [146] ......: SignalSet >> handle:do: [14] ......: EncodedStream >> basicFileInNotifying:passChunk: [100] ......: EncodedStream(PeekableStream) >> fileInNotifying:passChunk: [6] ......: [] in PeekableStream>>fileIn >> value [14] ......: QuerySignal(Signal) >> handle:do: [14] ......: EncodedStream(PeekableStream) >> fileIn [11] ......: SmalltalkChunkFileSourceReader >> fileInStream: [2] ......: SmalltalkChunkFileSourceReader class(AbstractSourceFileReader class) >> fileInStream: [3] ......: [** intermediate recursive contexts skipped **] ......: SmalltalkChunkFileSourceReader class(AbstractSourceFileReader class) >> fileInStream: [3] ......: SmalltalkLanguage(ProgrammingLanguage) >> fileInStream: [3] ......: [** intermediate recursive contexts skipped **] ......: SmalltalkLanguage(ProgrammingLanguage) >> fileInStream: [3] ......: [] in Smalltalk class>>fileInStream:lazy:silent:logged:addPath: >> value [42] ......: SignalSet >> answer:do: [10] ......: [] in Smalltalk class>>fileInStream:lazy:silent:logged:addPath: >> value [39] ......: Block >> ensure: [12] ......: Smalltalk class >> fileInStream:lazy:silent:logged:addPath: [44] ......: Smalltalk class >> fileIn:lazy:silent:logged: [60] ......: Smalltalk class >> fileIn: [10] ......: [] in Smalltalk class>>restart >> value [129] ......: [] in ClassDescription>>withoutUpdatingChangesDo: >> value [9] ......: [** intermediate recursive contexts skipped **] ......: [] in ClassDescription>>withoutUpdatingChangesDo: >> value [9] ......: SignalSet >> answer:do: [10] ......: Class class(ClassDescription) >> withoutUpdatingChangesDo: [7] ......: [] in Smalltalk class>>restart >> value [126] ......: Block >> on:do: [11] ......: Smalltalk class >> restart [132] ......: UndefinedObject >> nil [0] ......: nil Type ""c"" to proceed, ""?"" for help }}} I'm attaching also the log file." patrik.svestka@… 220 "Refactoring to ""know"" about subclasses (packages)" default todo new 2018-05-24T10:40:09+01:00 2018-05-24T11:07:34+01:00 "If you refactor code e.g. move method to the subclass or rename method in subclass the code ends up in `__NoProject__` with complete project structure. Current workaround: Move all methods (protocols) to correct package before doing commit. An Screenshot: [[Image(ticket:220:checking_no_project.png,1024px)]] " patrik.svestka@… 221 Refactoring method name -> method ends up in __NoProject__ default defect new 2018-05-24T10:43:08+01:00 2018-05-25T08:10:30+01:00 Refactoring method name -> method ends up in `__NoProject__`. It has to be then moved back to the package during Mercurial Check-in. patrik.svestka@… 222 "Switching view Category to Package should focus on the ""main"" package" default todo reopened 2018-05-28T10:33:54+01:00 2018-06-01T09:00:01+01:00 "How to reproduce the error? 1. Open a browser (default is a `Category` view) 2. Search for a selector via `ctrl + shift + t` e.g.`asCollectionOfSubCollectionsSeparatedByAnyForWhich` 3. Then switch to `View\Package` 4. The first selected line is on `Monticello` but should be on `libbasic` Here is a screenshot: [[Image(ticket:222:multiple_packages_selected_after_search.png,1024px)]] " patrik.svestka@… 225 Missing a method which would split a string with separator included default defect testing 2018-05-29T13:57:24+01:00 2018-05-29T14:56:22+01:00 "I need a method which would enable me to split a string based on condition with the separator included. For example a string: {{{ 'helloWorldHereICome'. }}} Would then split into: {{{ StringCollection('hello' 'World' 'Here' 'I' 'Come') }}} " patrik.svestka@… 226 An example form nativeConfirm:title:flags:initialAnswer: kills the Smalltalk/X VM default 8.1.0 defect testing 2018-06-16T13:36:07+01:00 2021-02-02T09:42:09Z "I wanted to try an example code: {{{ Screen current nativeConfirm:'please confirm' title:'Confirm' flags:#( APPLMODAL ICONQUESTION OKCANCEL) initialAnswer:true }}} To my surprise it killed the VM. There appears to be a kind of loop which opens more and more windows till the whole environment crashes. I'm attaching the log file to the ticket." patrik.svestka@… 227 Instance variable field is not visible due to the getters/setters checkbox default defect new 2018-06-20T10:59:00+01:00 2018-07-16T08:29:09+01:00 "When you want to create instance variables the field where you should put the name of the instance variable is completely blocked by the settters/getters generate checkbox. Note: it happens only sometimes. [[Image(ticket:227:instance_variables_creation.gif,312px)]]" patrik.svestka@… 229 Saving workspace into a file renames a directory which should not be renamed default defect patrik.svestka@… testing 2018-07-13T15:22:57+01:00 2018-12-11T11:11:04Z "Steps to reproduce the issue: 1) create a directory e.g. `C:\prg\Smalltalk\StX\search_for_substring` 2) create some code in workspace 3) select the path that is already there and copy the path from step `1)` into the Filename field and press enter Now two things can happen 4a) If it is the first time you do this, you can end up with deleted directory `C:\prg\Smalltalk\StX\search_for_substring` and two files `search_for_substring` and `search_for_substring.bak` 4b) You can get a renamed directory `search_for_substring.bak` and file named `search_for_substring` (if you have already saved the file before) Expected behavior: If the file is same as the already created directory warn the user that he can't save the file due to the fact there is a directory with the same name." patrik.svestka@… 231 [windows-only] I like the smalltalkx.svg icon, you can't get svg to work with windows. default todo testing 2018-07-18T11:40:13+01:00 2018-10-16T09:23:06+01:00 "I have taken the liberty to convert the `*.svg` format into `*.png` and multiple `*.ico* Would it be possible to add it to the project?" patrik.svestka@… 232 A Class definition is randomly corretly populated or just blank. default defect new 2018-07-19T09:08:05+01:00 2018-07-19T12:34:07+01:00 "This is an error which is hard to describe. There is a time where the method (e.g. #ps_salamander_menueditor_tests ) definition is displayed e.g.: {{{ ""{ NameSpace: Smalltalk }"" LibraryDefinition subclass:#ps_salamander_menueditor_tests instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' category:'* Projects & Packages *' ""/ no comment or documentation method found }}} Sometime the definition is just blank. I tried to find out any rules to it but did not find any. One thing I noticed. When it is blank it sometimes starts to display a text e.g. `""{ NameSpace: Smalltalk }""` which is then deleted. It just blinks there and disappears. For better understanding I'm adding also screenshots: Blank: [[Image(ticket:232:no_definition.gif,512px)]] Correctly filled: [[Image(ticket:232:definition_displayed.gif,512px)]] " patrik.svestka@… 233 Moving privite class that has also a private class - deletes the second class default defect new 2018-07-20T10:19:51+01:00 2018-07-20T10:19:51+01:00 "If you want to move (`make public`) a private class that also has a private class beneath it. The last class gets deleted during making public process. Before making it public: [[Image(ticket:233:move_private_class_with_private_class.gif,312px)]] After making it public: [[Image(ticket:233:only_first_private_class_remains.gif,312px)]]" patrik.svestka@… 234 "Search and replace inserts a replacement string without any relevant ""search for string""" default defect new 2018-07-23T10:00:10+01:00 2018-07-23T10:00:10+01:00 "The search and replace inserts a replacement string right at the cursor position without any relevant search being there. Please see the sort screencast for visual example." patrik.svestka@… 235 A selector shown but not focused default defect new 2018-07-23T10:09:53+01:00 2018-07-23T10:09:53+01:00 "I have found the issue during the testing of issue #234. When you click with mouse on a method, in the browser, the source code should have focus. Apparently it is not the case. What is funny is that the cursor, if you look carefully, is there but you can not perform any command. Notice that I'm trying to press `ctrl+f` right after selecting the method, but I have to click to the source code to gain focus. Please see the video screencast from the previous ticket for more: [https://swing.fit.cvut.cz/projects/stx-jv/attachment/ticket/234/wrong_replacement.mp4 An example that code is not focused right away (video/mp4)]" patrik.svestka@… 236 "Replace By: with ""Preserve Case"" checked produces an error message" default defect new 2018-07-23T10:25:28+01:00 2018-07-23T10:26:29+01:00 "Since I had some capital letter(s) in the replacement string I wanted to use the ""Preserve Case"" functionality in the `String search` dialog. When I checked this option I got a debugger window with message: {{{ [MessageNotUnderstood]: UndefinedObject does not understand: #isUppercaseFirst in process NewSystemBrowser [287] }}} This is the dialog window before search: [[Image(ticket:236:string_search_dialog_with_preserve_case_on.gif,512px)]] This is spawned debugger window: [[Image(ticket:236:isUppercaseFirst_debugger_window.gif,640px)]]" patrik.svestka@… 237 Fix namespaces, private methods and global variables default todo new 2018-07-23T11:08:49+01:00 2018-07-23T11:08:49+01:00 "This is a very **complex** issue and represents huge amount of work. I think it would be nice to have it here as a reminder that this is something that is ""hanging"" there. TODO: - figure out new concept of `namespaces` - major refactoring in `stc` (current implementation is buggy) - major refactoring in `VM` - all code around it " patrik.svestka@… 239 Fix all Smalltak/X source files to be in unicode (UTF8) default defect testing 2018-09-05T16:39:39+01:00 2018-12-19T18:52:37Z It appears there are some encoding issues with the Smalltalk/X source files. All the files that are stored at mercurial should be converted to unicode version. The files in CVS are not to be adjusted. patrik.svestka@… 240 The canvas (from GUI Painter) starts with decoration beneath task bar when the task bar is placed on top of the screen default defect new 2018-09-20T12:12:19+01:00 2018-09-20T12:14:57+01:00 "When I double click on a spec the `canvas` window decoration is start beneath the task bar which makes it impossible to move. Current workaround: resize the window till the decoration appear below the task bar. [[Image(ticket:240:canvas_below_task-bar.png,1024px)]]" patrik.svestka@… 241 WARNING: Class [warning] (2018-09-24 13:28:21.238): no valid version method in MenuButton default defect new 2018-09-24T12:47:42+01:00 2018-09-24T12:47:42+01:00 "This error warning is printed in the shell. It is probably to the issue with methods checksums. Could you shed some light on this topic Jan? Thank you." patrik.svestka@… 242 Selecting Settings\Tools\Editor\Syntax Color settings produces a debug window default defect new 2018-09-25T10:35:55+01:00 2018-09-25T10:35:55+01:00 "The error in the debugger: {{{ [ObsoleteMethodCallWarning]: use #formatMethodSource:in:using: - please fix this now! in process SettingsDialog [1665] }}} In the Transcript window: {{{ WARNING: the 'AbstractSyntaxHighlighter class >> #formatMethod:in:using:' method is obsolete. And may not be present in future ST/X versions. called from AbstractSettingsApplication::SyntaxColorSettingsAppl >> recolor [15] ------> use #formatMethodSource:in:using: }}}" patrik.svestka@… 243 Transcript text selection from bottom up is incorrectly copied default defect new 2018-09-25T17:39:52+01:00 2018-09-26T10:38:52+01:00 "Transcript select text into block then right click and select copy - the block gets deformed. The selected text is not correctly copied. **An Update:** This error appears to be connected when Smalltalk/X is loaded from a previously saved image (not always). The copy operation from Workspace works correctly and all tests at `RegressionTests::SnapshotRestartTests` passed. I have previously saved image it generates these errors: {{{ WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:43.788): GDBVariableObject missing method: inspector2TabVariable. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MABooleanDescription missing method: parseUsingGDBMIParser:. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MASingleOptionDescription missing method: parseUsingGDBMIParser:. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MADescription missing method: parseUsingGDBMIParser:. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MAToManyRelationDescription class missing method: defaultAllowOmmitedBrackets. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MANumberDescription missing method: parseUsingGDBMIParser:. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MAStringDescription missing method: parseUsingGDBMIParser:. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MAToManyRelationDescription missing method: allowOmmitedBrackets. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MAToManyRelationDescription missing method: allowOmmitedBrackets:. VERBOSE: WARNING: ObjectFileLoader [warning] (2018-09-26 11:28:44.053): Magritte::MAToManyRelationDescription missing method: parseUsingGDBMIParser:. VERBOSE: }}} Later on when using Smalltalk/X I got: {{{ VERBOSE: STX [error] (2018-09-26 11:19:36.882): Error write error : Invalid argument during finalization of: FileStream(for: C:\prg_sdk\stx8-jv_swing\build\stx\libscm\mercurial\HGCommand.st) VERBOSE: FileStream(ExternalStream) writeError: 22 [ VERBOSE: 9] VERBOSE: FileStream(ExternalStream) closeFile [ VERBOSE: 92 VERBOSE: ] FileStream closeFile [5] FileStream(ExternalStream) VERBOSE: finalize [4 VERBOSE: ] Registry informDispose: VERBOSE: FileStream(for: C:\prg_sdk\stx8-jv_swing\build\stx\libscm\mercurial\HGCommand.st) VERBOSE: [5] VERBOSE: [] in Registry>>grow: VERBOSE: nil [52] VERBOSE: Block on:do: VERBOSE: VERBOSE: Error [] in Registry>>grow: VERBOSE: [11] [] in Registry>>grow: nil FileStream(for: C:\prg_sdk\stx8-jv_swing\build\stx\libscm\mercurial\HGCommand.st) [53] Array from:to:do: 1 1 [] in Registry>>grow: [7] OrderedCollection do: [] in Registry>>grow: [4] Registry VERBOSE: grow: VERBOSE: 14 [50] }}} Time to time I got this warning: {{{ VERBOSE: STX [warn] (2018-09-26 11:28:45.611): invalid form draw - ignored }}} Question is if the image file did not get somehow corrupted. TODO: create a screencast" patrik.svestka@… 244 Refactoring of instance variables does not work correctly with accessors default defect new 2018-09-27T12:00:41+01:00 2018-09-27T12:01:47+01:00 "I had a instance variable `userList` and I wanted it to rename (clicking on the instance variable list, left click on `userList` variable and pressing F2 shortcut) to `windowsUserList`. Nearly everything got renamed correctly but the accessors did not: {{{ userList ^ windowsUserList }}} {{{ userList: users windowsUserList := users }}} " patrik.svestka@… 245 Test results in the class area are inconsistently reported default defect new 2018-10-02T14:44:03+01:00 2018-10-04T10:17:56+01:00 "If you run with run all a successfull Test class is sometimes remain marked with check mark (✓) and sometimes with green bubble. My observations: The check mark is there always. When you start testing via `Run All` then the check marks are exchanged with the green bubble to indicate that this test has run successfuly. However sometimes the check mark is not changed into the buble and you will get similar situation to the picture below. This is inconsistent and can be confusing. All tests were executed (multiple times) but only some got marked with the green buble: [[Image(ticket:245:successful_tests.png​,640px)]] **Update: found one case where it stopped appearing** I found out that if you test a Test class which has one test moved from one Test class to another **and** has at least one (sometimes more) deleted test case then if you `Run All` then the green bubble (that confirms that all test were successful) stops appearing beside the Test Class name after re-run. The only (✓) appears there. " patrik.svestka@… 246 Changing a test, clicking on other test and clicking on accept shows a debugger window default defect testing 2018-10-10T10:23:51+01:00 2018-10-11T09:38:28+01:00 "1) Create a simple test: {{{ bla ""test"" self assert: (false) ""/self assert: (false) }}} 2) The delete something e.g. the comment line ""/self assert: (false) 3) then click on other test in your test class. 4) An `Attention` pop-up window appears 5) click on `accept` button 6) Debugger window with message: {{{ [MessageNotUnderstood]: UndefinedObject does not understand: #notEmpty in process NewSystemBrowser [35] }}} appears. 7) Clicking on continue does save the testing method, but the debugger window should not appear. " patrik.svestka@… 248 Removing a line breakpoint can revert moving method between protocols default defect new 2018-10-26T10:30:06+01:00 2018-10-26T10:30:06+01:00 "If you create a line break and move the method with the line break it can happen that the method returns to the original protocol. 1) Have a method with line-break 2) Move it within protocols e.g. `accessing` to `initialization` 3) Then remove the line-breakpoint with the ""green light semaphore"" - `Remove breakpoint` button at top right of the browser window. 4) The method now returns back to the `accessing` protocol and is without any breakpoint Expected behavior: The breakpoin removal via the `Remove breakpoint` functionality should just remove the line-breakpoint. It should not move the method back to original protocol." patrik.svestka@… 249 Clickion on tab Geometric - Widget Gallery produces [MessageNotUnderstood]: default defect testing 2018-11-01T15:43:30Z 2018-11-26T08:46:48Z "Clicking on Geometric tab in the widget Gallery produces an error. The message: {{{ [MessageNotUnderstood]: ArcMorph does not understand: #drawableId in process UIPainter [2213] }}} WalkBackText: {{{ ArcMorph(Object) >> doesNotUnderstand: Message(#drawableId) {6266880} [16] ArcMorph(**NONE**) >> drawableId {6270976} [5] ArcMorphSpec(UISpecification) >> setVisibilityAttribute:in: false an ArcMorph {6275072} [5] ArcMorphSpec(ComponentSpec) >> setAttributesIn:with: an ArcMorph a UIBuilder {6279168} [15] ArcMorphSpec(NamedSpec) >> setAttributesIn:with: an ArcMorph a UIBuilder {6283264} [4] ArcMorphSpec(MenuComponentSpec) >> setAttributesIn:with: an ArcMorph a UIBuilder {6287360} [4] ArcMorphSpec(DisplayObjectComponentSpec) >> setAttributesIn:with: an ArcMorph a UIBuilder {6291456} [4] ArcMorphSpec >> setAttributesIn:with: an ArcMorph a UIBuilder {6295552} [4] ArcMorphSpec(UISpecification) >> buildViewWithLayoutFor:in: a UIBuilder a UIGalleryView::Palette {6299648} [18] [] in SpecCollection>>buildSubViewsFor:in: >> value: ArcMorphSpec(Circle) {6303744} [15] Array(SequenceableCollection) >> collect: [] in SpecCollection>>buildSubViewsFor:in: {6307840} [11] SpecCollection >> buildSubViewsFor:in: a UIBuilder a UIGalleryView::Palette {6311936} [7] SpecCollection >> buildViewWithLayoutFor:in: a UIBuilder a UIGalleryView::Palette {6316032} [6] FullSpec >> buildViewFor:in: a UIBuilder a UIGalleryView::Palette {6320128} [111] UIGalleryView::Palette >> specification: #(#FullSpec #name: #standardMorphs1 #window: #(#...0 0 10 0 373 0 90 0) #image: #sketchImageIcon)))) {6324224} [32] [] in UIGalleryView>>selectionHasChanged >> value {6328320} [30] Block >> on:do: NotFoundError [] in UIGalleryView>>selectionHasChanged (optimized) {6332416} [11] UIGalleryView >> selectionHasChanged {6336512} [31] [] in UIGalleryView>>initialize >> value: 8 {6340608} [8] UIGalleryView(NoteBookView) >> selectionChanged {6344704} [16] UIGalleryView(NoteBookView) >> selection: 8 {6348800} [9] UIGalleryView(NoteBookView) >> userSelection: 8 {6352896} [5] UIGalleryView(NoteBookView) >> buttonPress:x:y: 1 353 16 {6356992} [23] UIGalleryView(Object) >> perform:withArguments: #buttonPress:x:y: #(1 353 16) {6361088} [170] UIGalleryView(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::ButtonPressEvent(#buttonPress:x:y: view: UIGalleryView args: #(1 353 16)) #buttonPress:x:y: #(1 353 16) an EditField true {6365184} [238] UIGalleryView(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::ButtonPressEvent(#buttonPress:x:y: view: UIGalleryView args: #(1 353 16)) an EditField true {6369280} [5] [] in WindowGroup>>processEventsWithModalGroup: >> value {6373376} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {6377472} [15] WindowGroup >> processEventsWithModalGroup: nil {6381568} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {6385664} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {6389760} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {6393856} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {6397952} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {6402048} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(UIPainter) [] in WindowGroup>>eventLoopWhile:onLeave: {6406144} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {6410240} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {6414336} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(UIPainter) [] in WindowGroup>>eventLoopWhile:onLeave: {6418432} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {6422528} [25] [] in WindowGroup>>startupWith: >> value {6426624} [26] Block >> ensure: [] in WindowGroup>>startupWith: {6430720} [12] [] in WindowGroup>>startupWith: >> value {6434816} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {6438912} [14] [] in Process>>start >> value {6443008} [34] Block >> on:do:ensure: SignalSet(RestartProcessRequest TerminateProcessRequest AbortAllOperationRequest) [] in Process>>start [] in Process>>start {6447104} [15] Process >> start {6451200} [35] UndefinedObject >> nil {6455296} [0] }}} " patrik.svestka@… 250 Smalltak/X is reading Windows Registry only in ASCII but registry is UTF16 default defect testing 2018-11-07T13:08:17Z 2019-02-01T15:22:10Z "Windows registry is in Unicode (produces UTF-16LE with BOM files). Smalltalk/X. If you want to read values from registry is supports it via method {{{ Win32OperatingSystem::RegistryEntry >> valueNamed: }}} However, there this currently works in ASCII which is insufficient as Windows Registry is in Unicode. There was apparently an attempt to read it in unicode: {{{ #define xxUSE_UNICODE #ifdef USE_UNICODE # define xRegQueryValueEx RegQueryValueExW # define CHAR short #else # define RegQueryValueEx RegQueryValueExA # define CHAR char #endif }}} ... {{{ #ifdef USE_UNICODE retVal = __MKU16STRING(dataBuffer ? dataBuffer : quickData.smallDataBuffer); #else retVal = __MKSTRING(dataBuffer ? dataBuffer : quickData.smallDataBuffer); #endif }}} ... {{{ #ifdef USE_UNICODE s = __MKU16STRING(cp0); __ArrayInstPtr(stringArray)->a_element[i] = s; __STORE(stringArray, s); #else s = __MKSTRING(cp0); __ArrayInstPtr(stringArray)->a_element[i] = s; __STORE(stringArray, s); #endif }}} When the unicode code is turned on mostly rubbish is produced - some chineese characters. For example - finding windows version: {{{ key := Win32OperatingSystem::RegistryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion'. key valueNamed: 'BuildLab'. }}} Should produce something like this: `'15063.rs2_release.170317-1834'` If the `xx` are removed and the Unicode version is used then it produces something like this: `'㔱㘰⸳獲弲敲敬獡⹥㜱㌰㜱ㄭ㌸4se.170317-1834'` As you can see there is a partial result but maybe some buffer is overwritten? Also the value `aValueName` can't be unicode, which is permitted in Windows Registry, as it is defined as `__isStringLike(aValueName)`." patrik.svestka@… 252 Smalltak/X is writing Windows Registry only in ASCII but registry is UTF16 default defect testing 2018-11-08T14:56:14Z 2019-02-12T15:43:54Z "I have found out that the method: {{{ Win32OperatingSystem::RegistryEntry >> valueNamed:aValueName put:datum }}} Writes only in `ASCII` there isn't a code that would indicate such an attempt was made. " patrik.svestka@… 253 Win32OperatingSystem errorHolderForNumber - System Error Codes are reporting Posix values! default defect new 2018-12-07T13:07:48Z 2018-12-12T09:17:00Z "I have stumbled on this one by accident as I was trying to catch a windows error. I found out that the errors reported are Posix ones and not the System Error Codes! To have a list of windows system errors: [https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--0-499-] Now Windows reports Posix errors: ---- **First example**: `Win32OperatingSystem errorHolderForNumber:1` is reporting: `OSErrorHolder(EPERM, noPermissionsSignal)` The **correct** value should be: `OSErrorHolder(ERROR_INVALID_FUNCTION, illegalOperationSignal)` ---- **Second example** from higher `errno`: `Win32OperatingSystem errorHolderForNumber:87` is currenty reporting: `OSErrorHolder(ERROR_OTHER, defaultOsErrorSignal)` The **correct** value should be: `OSErrorHolder(ERROR_INVALID_PARAMETER, invalidArgumentsSignal)`" patrik.svestka@… 254 Text after a paste should behave like everywhere else - be deselected after paste default defect new 2018-12-11T10:57:56Z 2018-12-11T10:57:56Z "It is now quite ordinary that if you paste a text it should be automatically deselected to indicate that you can continue typing without deleting the block. The reason behind is that there is a sister functionality, delete when having a block selected (maybe except for indent with `TAB` or `spacebar`). User expects that if a text is selected in a block it will be, except some special cases like indentation, deleted." patrik.svestka@… 255 Changed to a non-default directory and when user enters a file without path the file is stored in the default starting directory for Smalltalk/X default defect new 2018-12-11T11:23:51Z 2021-10-07T10:42:14+01:00 "I found out this issue when fixing #229. If you change to a directory and then enter only a file name then the directory path is changed back to the default starting Smalltalk/X path. For me it is for example, `C:\prg_sdk\stx8-jv_swing\build\stx\projects\smalltalk`. Here is a test to test it: {{{ test_issue_next ""Check if the file is stored in the correct directory after changing the default directory path Test saving file with same name as directory 1. Create a temporary directory 2. Pasting a String into a Workspace - to indicate what is going on 3. Trying to save Workspace with ctrl + s 4. Changing to the temporary directory 5. Trying to save the file into the changed directory 6. Check if it was saved into correct place 7. Check if the directory was correctly deleted "" | randomDirectoryPath pathToTest | randomDirectoryPath := Filename newTemporaryDirectory. pathToTest := (randomDirectoryPath asString, '\', 'testing') asFilename. pathToTest recursiveMakeDirectory. [ textView contents: '''Testing directory vs. filename naming collision.'''. ""/ trying to save the Workspace textViewInteractor type: #Ctrls. ""/ selecting the path at the dialog screen textViewInteractor type: #ShiftHome. ""/ saving directory path into the clipboard textView setClipboardText: pathToTest asString. ""/ pasting the directory path and trying to change into the directory textViewInteractor type: #Paste. textViewInteractor type: #Return. ""/ selecting the path back again textViewInteractor type: #ShiftHome. ""/ typing a file names textViewInteractor type: 'WorkspaceFile.st'. ""/ saving it textViewInteractor type: #Return. ""/ the saved Workspace must exist at the changed path self assert: (pathToTest asString,'\','WorkspaceFile.st') asFilename exists. ] ensure: [ randomDirectoryPath asFilename recursiveRemove. self assert: randomDirectoryPath exists not ] ""Created: / 11-12-2018 / 12:16:44 / svestkap"" }}} " patrik.svestka@… 257 [linux-KDE5] Smallsense with autoraise does not work correctly default defect new 2019-01-06T11:20:52Z 2019-01-06T11:20:52Z "When having autoraise witha autofocus enabled the Smallsense is unusable. The hint window appears but keyboard does not work on it (not even escape `ESC`). The only option is to use mouse to select an option to use it." patrik.svestka@… 258 Review new implementation of `Win32OperatingSystem >> pathOfCommand:` default todo new 2019-01-18T12:57:21Z 2019-01-21T14:36:57Z "I have rewritten `Win32OperatingSystem >> pathOfCommand:` but I'm not much of a Windows expert. This patch should be reviewed. Patrik, can you have a look? " jan vrany 260 Using mouse wheel when launching a program directly exe file freezes the application default defect new 2019-02-13T14:54:20Z 2019-04-19T10:28:51+01:00 "Problem description: When application is started from the Smalltalk/X development environment scrolling via mouse scroll wheel works correctly. On the other hand, when launched directly via .exe file scrolling via mouse wheel freezes the application. I don't yet understand why. The application has to be killed. How it should work: scrolling via mosue wheel should not freeze the application. Please see the attache screencast for more." patrik.svestka@… 261 Entry field should not continue to next line default defect new 2019-02-13T14:55:26Z 2019-04-05T17:46:39+01:00 "Problem description: Create a simple view with just Entry Field (Edit Field) and pre-filled text. If you click at the end of the text and press -> (right arrow) you should probably not move at all as you are at the end of the field. However, in StX now if you press the right arrow the text dissapears as it would ""jump"" to next line. If you jump back again with left arrow you are back at the position. How it should work? In my opinion, pressing right arrow on the end of Entry field (Edit field) should not perform any action and stay at the end as you are at the end of the field -> there should not be any other lines there." patrik.svestka@… 262 Saving into image and reloading from it does not work correctly default defect new 2019-02-19T13:43:02Z 2019-02-19T13:43:02Z "The issue: After working session in StX I wanted to save a session so I don't have to repeat the search. It appears that the saving & restoring from image functionality does not work correctly. Here is an excerpt from the error log (full version you can find in the attached file): {{{ INIT [info] (19-02-19 14:33:42): registration of GDBMAByteArrayDescription as subclass of interpreted/autoloaded Magritte::MAElementDescription INIT [info] (19-02-19 14:33:42): registration of GDBMAContainer as subclass of interpreted/autoloaded Magritte::MAContainer INIT [info] (19-02-19 14:33:42): registration of GDBMADescriptionSwitch as subclass of interpreted/autoloaded Magritte::MADescription INIT [info] (19-02-19 14:33:42): registration of GDBMAPropertyAccessor as subclass of interpreted/autoloaded Magritte::MAAccessor ObjectFileLoader [info] (2019-02-19 14:33:42.893): retry registration of: a classLib after init ObjectFileLoader [warning] (2019-02-19 14:33:42.940): GDBVariableObject missing method: inspector2TabVariable. ObjectFileLoader [warning] (2019-02-19 14:33:42.940): GDBDebugger missing method: onRRExitEvent:. ObjectFileLoader [warning] (2019-02-19 14:33:42.940): GDBDebugger missing method: targetConnectRR:. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MABooleanDescription missing method: parseUsingGDBMIParser:. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MASingleOptionDescription missing method: parseUsingGDBMIParser:. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MANumberDescription missing method: parseUsingGDBMIParser:. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MAStringDescription missing method: parseUsingGDBMIParser:. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MAToManyRelationDescription class missing method: defaultAllowOmmitedBrackets. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MAToManyRelationDescription missing method: allowOmmitedBrackets. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MAToManyRelationDescription missing method: allowOmmitedBrackets:. ObjectFileLoader [warning] (2019-02-19 14:33:43.393): Magritte::MAToManyRelationDescription missing method: parseUsingGDBMIParser:. WinWorkstat [info]: unknown/new display version 10:0 (assume post vista) WinWorkstation [info]: CreateWindow S failed: 1406 (0x57e) [4772] WinWorkstation [error]: CreateWindow failed: 1406 (0x57e) [9026] NoHandlerError: primitive failed: a WinWorkstation(WinSta0)>>setEventMask:in: }}} " patrik.svestka@… 263 xor: method takes only aBoolean (but and: and or: takes aBlock) default defect new 2019-03-07T11:49:14Z 2019-03-07T11:49:14Z "I have found out that `xor:` method intakes only `aBoolean` but its comrades `and:` and `or:` take `aBlock`. Perhaps it would be wise to unify this." patrik.svestka@… 264 Selecting a block with arrows - shift + arrow up (or shift + arrow down) and then continue with page-up (page-down) produces an error default defect new 2019-03-14T14:41:52Z 2019-03-25T10:41:46Z "To reproduce: 1) Selecting a method's text from below (or above) using shift + arrow up two lines. 2) Release the arrow key 3) Press page-up (or page-down) key twice The error message: {{{ [MessageNotUnderstood]: UndefinedObject does not understand: #min: in process NewSystemBrowser [87] }}} Expected behaviour: The page-up key should continue selecting block. " patrik.svestka@… 265 Left clicking twice on `Senders...` item in menu produces an SmallSense error default defect jan vrany accepted 2019-03-15T08:32:22Z 2020-06-01T15:32:33+01:00 "Selecting a message in a method and right-clicking to call a menu. Then left clicking twice on `Senders...` produces an error message. The error message: {{{ [MessageNotUnderstood]: SmallSense::ParseTreeIndexEntry does not understand: #indexOf: in process NewSystemBrowser [77] }}} I'm attaching a short screencast to show how it is achived. " patrik.svestka@… 266 SmallSense bug when using a method selecting in a code default defect new 2019-03-18T16:38:53Z 2019-03-18T16:38:53Z "- per-requisite be in a debugger and stop at breakpoint line 1) select a message (with mouse double-click) within a method code (selecting into a block) 2) start typing a new method 3) when a suggestion appears from SmallSense click enter 4) select another message you want to replace by typing it with mouse double-click (selecting into a block) 5) start typing -> ERROR!! Typing continues on the previously SmallSense pre-filled method." patrik.svestka@… 267 When editing a method, after saving it the editor jumps to beginning default defect new 2019-03-18T16:42:29Z 2021-11-19T11:58:03Z "Steps to reproduce: 1) pick any saved method 2) paste some code 3) do some changes 4) save it with `ctrl + s` The editor jumps to the beginning of the method. Expected behaviour: For the editor to stay where the cursor is (not jump to the start of the edited method)" patrik.svestka@… 268 Renaming a class with subclasses ends with an error default defect new 2019-03-27T10:18:20Z 2019-03-27T10:18:20Z "Description: I have a class that has both superclass and subclasses. I want to refactor (rename) it. Upon clicking on `Rename and Rewrite` button from dialog window **Renaming class ...* I got an error message within a debugger: {{{ [MessageNotUnderstood]: ASMenuAbstractComponent class does not understand: #removeSubclass: in process NewSystemBrowser [5500] }}} Expecting: Refactoring (renaming) to be successful. Please see the attached screencast for better overview. " patrik.svestka@… 270 Label class exposing logo instVar, but should expose label instead default defect new 2019-04-16T14:18:28+01:00 2019-04-16T14:18:28+01:00 "I was inspecting instance of a Label class and when I tried to look at the value of logo I got a error: `primitive failed: Win32OperatingSystem>>primGetFileAttributes` When I tried to look futher I found out that the `logo` is the correct attribute that contains the value that logo was showing at the inspector. I'm including a screenshot which shows the situation." patrik.svestka@… 271 Local variable highlighting is off after a paste default defect new 2019-04-16T14:35:21+01:00 2019-04-16T14:35:21+01:00 "When you paste a code, without saving, and then you try to highlight a local variable then the offset is wrong. The code which is highligted is not the local variable. I'm including a screenshot." patrik.svestka@… 272 Making a selecting within a field with ctrl + home and/or ctrl+ end sometimes ends with a debugger default defect new 2019-04-16T14:43:51+01:00 2019-04-16T14:43:51+01:00 "This is really hard to reproduce, but sometimes when you make a selection with mouse and then you try to finish it with `ctrl + home` and/or `ctrl + end` and time to time a debugger window is raised. I'm including a screenshot of the situation." patrik.svestka@… 273 Selecting syntax color setting raises a debugger with obsolete method warning default defect new 2019-04-19T11:01:55+01:00 2019-04-19T11:01:55+01:00 "There is a warning debugger window opened when `Syntax Color` setting is selected. The warning is: {{{ [ObsoleteMethodCallWarning]: use #formatMethodSource:in:using: - please fix this now! in process SettingsDialog [6593] }}} For easier navigation I'm including a picture." patrik.svestka@… 275 Mapping + as shorcut does not work as expected default defect new 2019-05-02T10:26:11+01:00 2019-05-02T13:18:22+01:00 "I want to use `+` as a shorcut for adding a node into a tree. I'm using the following code to add `+` as a shortcut {{{ | keyboardMapping | keyboardMapping := Display keyboardMap. keyboardMapping bindValue: #Add to: #+ }}} This does not work properly even when I check the mappings via `Display keyboardMap` it shows up at `#bindings` (first from top). [[Image(ticket:275:+_shortcut_mapping_notworking.png,480px)]] On the other hand, when I do different mappings like:(replacing the last line): `keyboardMapping bindValue: #Add to: #Ctrld` When I press `Ctrl+d` it works as expected: [[Image(ticket:275:ctrld_mapping_working.png,640px)]] Same goes to `#-` as alias. Why can't `#+` (`#-`) be used as a shortcut?" patrik.svestka@… 276 Minor bugs in KeyboardMap (libview) default defect testing 2019-05-02T10:39:43+01:00 2019-05-02T10:40:16+01:00 I have found bugs in example code and documentation. I'm including a patch to fix those. patrik.svestka@… 278 Shifted shortchuts position on the main Smalltalk/X menu default defect new 2019-05-02T13:29:01+01:00 2019-05-02T13:29:01+01:00 "I have noticed this because I was disecting the main DoIt, PrintIt, etc. menu. It look like extra space was added to the menu items: [[Image(ticket:278:Shifted_shortcuts.png,320px)]]" patrik.svestka@… 279 The shortcut combination ctrl + alt + does not seem to work right default defect new 2019-05-02T14:38:28+01:00 2019-05-02T14:52:41+01:00 "I have tried to define as `Ctrl + Alt + X` as shortcut, it appears not to work: {{{ #( (Exit CtrlAltx) ) }}} (also tried different combinations like `CmdCtrlx` or `CtrlCmdx` but nothing worked). In menu there is only `Ctrl + Altx` displayed and the key combination does not work. I'm expecting the keyboard shortct `ctrl + alt + ` to work correctly. " patrik.svestka@… 280 Mnemonic shortcuts do not work properly for the file menu default defect new 2019-05-21T13:08:59+01:00 2019-05-21T13:09:43+01:00 "When you have a File menu with an item like `B&uffers` where `&u` is a mnemonic shortcut activated via `Cmd + u` (on windows `Alt + u`). It does not seem to work correctly. I'm including a test where I open a new Browser window and try to open a tab via mnemonic shortcut (then also with the `Ctrl + t` a direct shortcut for the new tab). " patrik.svestka@… 282 Search & Rewrite - MethodRewriter out of bounds default defect new 2019-08-01T12:15:33+01:00 2019-08-01T12:15:33+01:00 "I'm trying to refactor my code using Search & Rewrite: Find: {{{`@receiver listHolder value}}} Replace With: {{{`@receiver list}}} I'm getting an error: `[SubscriptOutOfBoundsError]: subscript (2619) out of bounds in process MethodRewriter [1191]` The search itself works correctly and gives me the result I want to see. Here is complete walkback: {{{ [SubscriptOutOfBoundsError]: subscript (2619) out of bounds in process MethodRewriter [1191] String(Object) >> subscriptBoundsError: 2619 {3461120} [11] String >> basicAt: 2619 {3465216} [34] String >> at: 2619 {3469312} [35] String(UninterpretedBytes) >> slowReplaceBytesFrom:to:with:startingAt: 1 45 'testSavingToTreeFromData ""Testing #save whe... ""Created: / 12-04-2019 / 08:15:34 / svestkap"" ' 2597 {3473408} [13] String(UninterpretedBytes) >> replaceBytesFrom:to:with:startingAt: 1 45 'testSavingToTreeFromData ""Testing #save whe... ""Created: / 12-04-2019 / 08:15:34 / svestkap"" ' 2597 {3477504} [167] String(UninterpretedBytes) >> replaceFrom:to:with:startingAt: 1 45 'testSavingToTreeFromData ""Testing #save whe... ""Created: / 12-04-2019 / 08:15:34 / svestkap"" ' 2597 {3481600} [12] String >> replaceFrom:to:with:startingAt: 1 45 'testSavingToTreeFromData ""Testing #save whe... ""Created: / 12-04-2019 / 08:15:34 / svestkap"" ' 2597 {3485696} [110] String(SequenceableCollection) >> copyFrom:to: 2597 2641 {3489792} [14] String >> copyFrom:to: 2597 2641 {3493888} [79] RBFormatter >> formatMethodComment:for:indentBefore:indentAfter: ""Created: / 12-04-2019 / 08:15:34 / svestkap"" *Error in argString* false false {3497984} [9] [] in RBFormatter>>formatMethodCommentsAfter:for: >> value:value: 2 ""Created: / 12-04-2019 / 08:15:34 / svestkap"" {3502080} [36] OrderedCollection >> keysAndValuesDo: [] in RBFormatter>>formatMethodCommentsAfter:for: {3506176} [13] [] in RBFormatter>>formatMethodCommentsAfter:for: >> value {3510272} [35] RBFormatter >> indent:while: 1 [] in RBFormatter>>formatMethodCommentsAfter:for: {3514368} [3] RBFormatter >> indentWhile: [] in RBFormatter>>formatMethodCommentsAfter:for: {3518464} [2] RBFormatter >> formatMethodCommentsAfter:for: OrderedCollection("" self run:#testSavingToT... "" ""Created: / 12-04-2019 / 08:15:34 / svestkap"") *Error in argString* {3522560} [29] RBMethodNode >> acceptCommentsAfterVisitor: an RBFormatter {3526656} [2] RBFormatter >> visitNode: *Error in argString* {3538944} [11] RBFormatter >> format: *Error in argString* {3543040} [3] RBMethodNode(RBProgramNode) >> formattedCode {3547136} [2] RBMethodNode >> newSource {3551232} [4] [] in Tools::MethodRewriter>>doRewrite: >> value: a Method(ASMenuEditorTests >> testSavingToTreeFromData) {3555328} [21] [] in Tools::MethodRewriter>>withMethods:do:finallyDo: >> value:value: 1 a Method(ASMenuEditorTests >> testSavingToTreeFromData) {3559424} [23] Array >> keysAndValuesDo: [] in Tools::MethodRewriter>>withMethods:do:finallyDo: {3563520} [6] [] in Tools::MethodRewriter>>withMethods:do:finallyDo: >> value {3567616} [11] Block >> ensure: [] in Tools::MethodRewriter>>withMethods:do:finallyDo: {3571712} [12] Tools::MethodRewriter >> withMethods:do:finallyDo: Set(a Method(ASMenuEditorTests >> testSavingToTr...enuEditorTests >> testNodeMoveDownMultipleNodes)) [] in Tools::MethodRewriter>>doRewrite: [] in Tools::MethodRewriter>>withMethods:do: (optimized) {3575808} [28] Tools::MethodRewriter >> withMethods:do: Set(a Method(ASMenuEditorTests >> testSavingToTr...enuEditorTests >> testNodeMoveDownMultipleNodes)) [] in Tools::MethodRewriter>>doRewrite: {3579904} [3] Tools::MethodRewriter >> doRewrite: Set(a Method(ASMenuEditorTests >> testSavingToTr...enuEditorTests >> testNodeMoveDownMultipleNodes)) {3584000} [8] [] in Tools::MethodRewriter>>doRewriteAction >> value: Set(a Method(ASMenuEditorTests >> testSavingToTr...enuEditorTests >> testNodeMoveDownMultipleNodes)) {3588096} [12] [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: >> value {3592192} [33] [] in Tools::MethodRewriter>>withMethods:do:finallyDo: >> value {3596288} [27] Block >> ensure: [] in Tools::MethodRewriter>>withMethods:do:finallyDo: {3600384} [12] Tools::MethodRewriter >> withMethods:do:finallyDo: #(a Method(ASAbstractApplicationModel >> timeSta...salamander_menueditor_tests class >> version_HG)) [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: {3604480} [28] Tools::MethodRewriter >> withMethodsDo:finallyDo: [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: {3608576} [4] Tools::MethodRewriter >> doSearchPattern:withResultDo: '`@receiver listHolder value' [] in Tools::MethodRewriter>>doRewriteAction {3612672} [12] Tools::MethodRewriter >> doRewriteAction {3616768} [10] Tools::MethodRewriter(Object) >> perform: #doRewriteAction {3620864} [32] Tools::MethodRewriter(Object) >> perform:withOptionalArgument: #doRewriteAction true {3624960} [8] MessageSend >> value: true {3629056} [4] ButtonController >> performAction {3633152} [35] ButtonController >> buttonRelease:x:y: 1 83 12 {3637248} [37] ButtonController(Object) >> perform:withArguments: #buttonRelease:x:y: #(1 83 12) {3641344} [170] Button(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::ButtonReleaseEvent(#buttonRelease:x:y: view: Button args: #(1 83 12)) #buttonRelease:x:y: #(1 83 12) an EditTextView true {3645440} [238] Button(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::ButtonReleaseEvent(#buttonRelease:x:y: view: Button args: #(1 83 12)) an EditTextView true {3649536} [5] [] in WindowGroup>>processEventsWithModalGroup: >> value {3653632} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {3657728} [15] WindowGroup >> processEventsWithModalGroup: nil {3661824} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {3665920} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {3670016} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {3674112} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {3678208} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {3682304} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(MethodRewriter) [] in WindowGroup>>eventLoopWhile:onLeave: {3686400} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {3690496} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {3694592} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(MethodRewriter) [] in WindowGroup>>eventLoopWhile:onLeave: {3698688} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {3702784} [25] [] in WindowGroup>>startupWith: >> value {3706880} [26] Block >> ensure: [] in WindowGroup>>startupWith: {3710976} [12] [] in WindowGroup>>startupWith: >> value {3715072} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {3719168} [14] [] in Process>>start >> value {3723264} [34] Block >> on:do:ensure: SignalSet(RestartProcessRequest AbortAllOperationRequest TerminateProcessRequest) [] in Process>>start [] in Process>>start {3727360} [15] Process >> start {3731456} [35] UndefinedObject >> nil {3735552} [0] }}}" patrik.svestka@… 283 Entering search & rewrite shows a warning code default defect new 2019-08-01T12:16:54+01:00 2019-08-01T12:16:54+01:00 "When I enter the search & rewrite via `File menu - SystemBrowser > code > search & rewrite` I see this warning code: {{{ Tools::MethodRewriter [warning]: Error in spec (searchAndReplaceSpec): LabelSpec: unhandled literalArrayEncoding attribute: (xxvisibilityChannel:) Tools::MethodRewriter [warning]: Error in spec (searchAndReplaceSpec): ProgressIndicatorSpec: unhandled literalArrayEncoding attribute: (xxvisibilityChannel:) }}} " patrik.svestka@… 284 A bug in String search dialog - using Replace By: - adds superfluous replace string default defect new 2019-08-01T12:27:32+01:00 2019-08-01T12:27:32+01:00 "If you have simple method: {{{ test | myVar | ""/-> place the pointer here (at the beginning of the line) myVar := collection size. ^ myVar }}} If you click just below the `| myVar |` and enter `searchPatter:` ''myVar'' and click on the checbox near `Replace By:` ''myNewVariable'' then click on button Next. You will find out that you will have superflous string ""myNewVariable"" at line 2. {{{ test | myVar | myNewVariable myNewVariable:= collection size. ^ myNewVariable }}}" patrik.svestka@… 286 Search & rewrite tool - subscript out of bounds error default defect new 2019-08-09T11:22:02+01:00 2019-08-09T11:25:43+01:00 "When I tried to do In search {{{ ``@receiver doButtonAction: ASMenuEditor applyButtonName}}} In Replace: {{{``@receiver doButtonAction: #appyButtonName.}}} I got an error: {{{ [SubscriptOutOfBoundsError]: subscript (3811) out of bounds in process MethodRewriter [35244] }}} The whole `walkbacktext`: {{{ [SubscriptOutOfBoundsError]: subscript (3811) out of bounds in process MethodRewriter [35244] String(Object) >> subscriptBoundsError: 3811 {7688192} [11] String >> basicAt: 3811 {7692288} [34] String >> at: 3811 {7696384} [35] String(UninterpretedBytes) >> slowReplaceBytesFrom:to:with:startingAt: 1 46 'testSavingCommandEditFieldEmpty ""Leaving co... ""Modified: / 09-08-2019 / 09:37:10 / svestkap"" ' 3776 {7700480} [13] String(UninterpretedBytes) >> replaceBytesFrom:to:with:startingAt: 1 46 'testSavingCommandEditFieldEmpty ""Leaving co... ""Modified: / 09-08-2019 / 09:37:10 / svestkap"" ' 3776 {7704576} [167] String(UninterpretedBytes) >> replaceFrom:to:with:startingAt: 1 46 'testSavingCommandEditFieldEmpty ""Leaving co... ""Modified: / 09-08-2019 / 09:37:10 / svestkap"" ' 3776 {7708672} [12] String >> replaceFrom:to:with:startingAt: 1 46 'testSavingCommandEditFieldEmpty ""Leaving co... ""Modified: / 09-08-2019 / 09:37:10 / svestkap"" ' 3776 {7712768} [110] String(SequenceableCollection) >> copyFrom:to: 3776 3821 {7716864} [14] String >> copyFrom:to: 3776 3821 {7720960} [79] RBFormatter >> formatMethodComment:for:indentBefore:indentAfter: ""Modified: / 09-08-2019 / 09:37:10 / svestkap"" *Error in argString* false false {7725056} [9] [] in RBFormatter>>formatMethodCommentsAfter:for: >> value:value: 3 ""Modified: / 09-08-2019 / 09:37:10 / svestkap"" {7729152} [36] OrderedCollection >> keysAndValuesDo: [] in RBFormatter>>formatMethodCommentsAfter:for: {7733248} [13] [] in RBFormatter>>formatMethodCommentsAfter:for: >> value {7737344} [35] RBFormatter >> indent:while: 1 [] in RBFormatter>>formatMethodCommentsAfter:for: {7741440} [3] RBFormatter >> indentWhile: [] in RBFormatter>>formatMethodCommentsAfter:for: {7745536} [2] RBFormatter >> formatMethodCommentsAfter:for: OrderedCollection("" self run:#testSavingCom..."" ""Modified: / 09-08-2019 / 09:37:10 / svestkap"") *Error in argString* {7749632} [29] RBMethodNode >> acceptCommentsAfterVisitor: an RBFormatter {7753728} [2] RBFormatter >> visitNode: *Error in argString* {7757824} [11] RBFormatter >> format: *Error in argString* {7761920} [3] RBMethodNode(RBProgramNode) >> formattedCode {7766016} [2] RBMethodNode >> newSource {7770112} [4] [] in Tools::MethodRewriter>>doRewrite: >> value: a Method(ASMenuEditorTests >> testSavingCommandEditFieldEmpty) {7774208} [21] [] in Tools::MethodRewriter>>withMethods:do:finallyDo: >> value:value: 1 a Method(ASMenuEditorTests >> testSavingCommandEditFieldEmpty) {7778304} [23] Array >> keysAndValuesDo: [] in Tools::MethodRewriter>>withMethods:do:finallyDo: {7782400} [6] [] in Tools::MethodRewriter>>withMethods:do:finallyDo: >> value {7786496} [11] Block >> ensure: [] in Tools::MethodRewriter>>withMethods:do:finallyDo: {7790592} [12] Tools::MethodRewriter >> withMethods:do:finallyDo: Set(a Method(ASMenuEditorTests >> testSavingComm...itorTests >> testSavingNewNodeAndMoveItAround_2)) [] in Tools::MethodRewriter>>doRewrite: [] in Tools::MethodRewriter>>withMethods:do: (optimized) {7794688} [28] Tools::MethodRewriter >> withMethods:do: Set(a Method(ASMenuEditorTests >> testSavingComm...itorTests >> testSavingNewNodeAndMoveItAround_2)) [] in Tools::MethodRewriter>>doRewrite: {7798784} [3] Tools::MethodRewriter >> doRewrite: Set(a Method(ASMenuEditorTests >> testSavingComm...itorTests >> testSavingNewNodeAndMoveItAround_2)) {7802880} [8] [] in Tools::MethodRewriter>>doRewriteAction >> value: Set(a Method(ASMenuEditorTests >> testSavingComm...itorTests >> testSavingNewNodeAndMoveItAround_2)) {7806976} [12] [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: >> value {7811072} [33] [] in Tools::MethodRewriter>>withMethods:do:finallyDo: >> value {7815168} [27] Block >> ensure: [] in Tools::MethodRewriter>>withMethods:do:finallyDo: {7819264} [12] Tools::MethodRewriter >> withMethods:do:finallyDo: #(a Method(ASDamagedRegistryAbstractTests >> men...d(ASWindowsInformationTests class >> version_HG)) [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: {7823360} [28] Tools::MethodRewriter >> withMethodsDo:finallyDo: [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: [] in Tools::MethodRewriter>>doSearchPattern:withResultDo: {7827456} [4] Tools::MethodRewriter >> doSearchPattern:withResultDo: '``@receiver doButtonAction: ASMenuEditor applyButtonName' [] in Tools::MethodRewriter>>doRewriteAction {7831552} [12] Tools::MethodRewriter >> doRewriteAction {7835648} [10] Tools::MethodRewriter(Object) >> perform: #doRewriteAction {7839744} [32] Tools::MethodRewriter(Object) >> perform:withOptionalArgument: #doRewriteAction true {7843840} [8] MessageSend >> value: true {7847936} [4] ButtonController >> performAction {7852032} [35] ButtonController >> buttonRelease:x:y: 1 46 4 {7856128} [37] ButtonController(Object) >> perform:withArguments: #buttonRelease:x:y: #(1 46 4) {7860224} [169] Button(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::ButtonReleaseEvent(#buttonRelease:x:y: view: Button args: #(1 46 4)) #buttonRelease:x:y: #(1 46 4) an EditTextView true {7864320} [238] Button(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::ButtonReleaseEvent(#buttonRelease:x:y: view: Button args: #(1 46 4)) an EditTextView true {7868416} [5] [] in WindowGroup>>processEventsWithModalGroup: >> value {7872512} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {7876608} [15] WindowGroup >> processEventsWithModalGroup: nil {7880704} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {7884800} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {7888896} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {7892992} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {7897088} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {7901184} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(MethodRewriter) [] in WindowGroup>>eventLoopWhile:onLeave: {7905280} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {7909376} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {7913472} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(MethodRewriter) [] in WindowGroup>>eventLoopWhile:onLeave: {7917568} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {7921664} [25] [] in WindowGroup>>startupWith: >> value {7925760} [26] Block >> ensure: [] in WindowGroup>>startupWith: {7929856} [12] [] in WindowGroup>>startupWith: >> value {7933952} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {7938048} [14] [] in Process>>start >> value {7942144} [34] Block >> on:do:ensure: SignalSet(RestartProcessRequest AbortAllOperationRequest TerminateProcessRequest) [] in Process>>start [] in Process>>start {7946240} [15] Process >> start {7950336} [35] UndefinedObject >> nil {7954432} [0] }}}" patrik.svestka@… 288 Float exponent is not compatible with other dialects (VW, Squeak, Dolphin, ...) default defect new 2019-08-17T20:17:47+01:00 2019-09-25T23:56:34+01:00 "Currently, exponent and mantissa are defined in term of frexp() function. They return a significand in interval [0.5,1.0) and exponent accordingly. Other dialects return the significand in interval [1.0,2.0). Because they are defined in term of ilogb()/scalb() function. Thus 1.0 exponent is 1 in stx and 0 in other dialects, making port of some library more difficult than necessary. I would rather use ilogb() and scalb() for the exponent because they also work if ever the radix of Float implementation is not 2. There is no sender of exponent/mantissa in base image, so this should be a safe change." nicolas.cellier.aka.nice@… 290 binary and hex inspector extensions for LimitedPrecisionReal are wrongly padded default defect new 2019-08-18T10:18:20+01:00 2019-08-18T10:18:52+01:00 "inspectorExtraAttributes is using paddedTo:with: instead of leftPaddedTo:with: It is demonstrated below with ShortFloat (because examples are shorter). (1.0 asShortFloat inspect) gives: hex 3F800000 (correct) binary 11111100 10000000 00000000 00000000 should be 00111111 10000000 00000000 00000000 (1.0+(1<<13) reciprocal + (1<<21) reciprocal) asShortFloat inspect all indexed vars: 1 : 4 2 : 4 3 : 128 4 : 63 binary 11111100 10000000 10000000 10000000 should be 00111111 10000000 00000100 00000100 hex 3F804040 should be 3F800404 " nicolas.cellier.aka.nice@… 291 LimitedPrecisionReal fmin subclassResponsibility not implemented default defect new 2019-08-19T15:21:42+01:00 2019-08-19T21:56:52+01:00 "I expect Float fmin to work. Should it answer fminNormalized or fminDenormalized (gradual underflow)? fminDenormalized is preferred for VW and Squeak compatibility, but LongFloat might not have denormalized numbers... fminNormalized should be (self unity timesTwoPower: self emin). fminDenormalized should be (self unity timesTwoPower: self emin - self precision + 1). I would test for denormalized support and answer fminDenormalized if true, this way no need for subclassResponsibility (or more exactly, subclassResponsibility would be defered to denormalized support testing)" nicolas.cellier.aka.nice@… 292 GeometricSeries of Float is incorrect default defect new 2019-08-19T15:27:36+01:00 2019-08-19T15:27:36+01:00 " {{{ (GeometricSeries from: 1 to: 16 byFactor: 2) asArray. }}} -> #(1 2 4 8 16) {{{ (GeometricSeries from: 1.0 to: 16 byFactor: 2) asArray. }}} -> #(1.0 3.0 5.0 9.0) The first one is correct, the second is unexpected! Implementation of do: uses {{{ aValue := start + (factor raisedTo:iter). }}} instead of {{{ aValue := start * (factor raisedTo:iter). }}} " nicolas.cellier.aka.nice@… 293 Typing (pressing) = (equal sign character) on 4th method edit line brings a debugger default defect new 2019-08-30T09:56:10+01:00 2019-08-30T09:56:10+01:00 "I wanted to delete some text. So I took it to block deleted it via backspace. Then I deleted some variables (by selection and backspace). Then I moved the cursor below it at the start of the line and tried to type `=`, got a debugger window with `[SubscriptOutOfBoundsError]: subscript (0) out of bounds in process NewSystemBrowser [171]` instead. Other characters work. When I deleted the whole line and pressed return, I could then type the `=` character. Here is the walkback text: {{{ [SubscriptOutOfBoundsError]: subscript (0) out of bounds in process NewSystemBrowser [171] String(Object) >> subscriptBoundsError: 0 {1409024} [11] String(Object) >> indexNotIntegerOrOutOfBounds: 0 {1413120} [11] String(Object) >> basicAt: 0 {1417216} [281] String >> basicAt: 0 {1421312} [36] String >> at: 0 {1425408} [35] SmallSense::SmalltalkEditSupport >> keyPressEqual {1429504} [10] SmallSense::SmalltalkEditSupport >> keyPress:x:y:in: $= ""16r3D 61"" -1 -1 a Tools::CodeView2::TextView {1433600} [61] SmallSense::EditService >> keyPress:x:y:in: $= ""16r3D 61"" -1 -1 a Tools::CodeView2::TextView {1437696} [8] [] in Tools::CodeView2>>keyPress:x:y:in: >> value: a SmallSense::EditService {1441792} [11] [] in Collection>>contains: >> value: a SmallSense::EditService {1445888} [8] Array >> from:to:do: 1 7 [] in Collection>>contains: {1449984} [7] OrderedCollection >> do: [] in Collection>>contains: {1454080} [4] OrderedCollection(Collection) >> contains: [] in Tools::CodeView2>>keyPress:x:y:in: {1458176} [7] Tools::CodeView2 >> keyPress:x:y:in: $= ""16r3D 61"" -1 -1 a Tools::CodeView2::TextView {1462272} [7] Tools::CodeView2::TextView >> keyPress:x:y: $= ""16r3D 61"" -1 -1 {1466368} [2] Tools::CodeView2::TextView(Object) >> perform:withArguments: #keyPress:x:y: #($= ""16r3D 61"" -1 -1) {1470464} [170] Tools::CodeView2::TextView(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::KeyPressEvent(#keyPress:x:y: view: ApplicationWindow args: #($= ""16r3D 61"" -1 -1)) #keyPress:x:y: #($= ""16r3D 61"" -1 -1) nil true {1474560} [238] Tools::CodeView2::TextView(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::KeyPressEvent(#keyPress:x:y: view: ApplicationWindow args: #($= ""16r3D 61"" -1 -1)) nil true {1478656} [5] ApplicationWindow(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::KeyPressEvent(#keyPress:x:y: view: ApplicationWindow args: #($= ""16r3D 61"" 396 393)) #keyPress:x:y: #($= ""16r3D 61"" 396 393) a Tools::CodeView2::TextView true {1482752} [140] ApplicationWindow(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::KeyPressEvent(#keyPress:x:y: view: ApplicationWindow args: #($= ""16r3D 61"" 396 393)) a Tools::CodeView2::TextView true {1486848} [5] [] in WindowGroup>>processEventsWithModalGroup: >> value {1490944} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {1495040} [15] WindowGroup >> processEventsWithModalGroup: nil {1499136} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {1503232} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {1507328} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {1511424} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {1515520} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {1519616} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(NewSystemBrowser) [] in WindowGroup>>eventLoopWhile:onLeave: {1523712} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {1527808} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {1531904} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(NewSystemBrowser) [] in WindowGroup>>eventLoopWhile:onLeave: {1536000} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {1540096} [25] [] in WindowGroup>>startupWith: >> value {1544192} [26] Block >> ensure: [] in WindowGroup>>startupWith: {1548288} [12] [] in WindowGroup>>startupWith: >> value {1552384} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {1556480} [14] [] in Process>>start >> value {1560576} [34] Block >> on:do:ensure: SignalSet(RestartProcessRequest AbortAllOperationRequest TerminateProcessRequest) [] in Process>>start [] in Process>>start {1564672} [15] Process >> start {1568768} [35] UndefinedObject >> nil {1572864} [0] }}}" patrik.svestka@… 294 St/X kills X session default defect new 2019-09-27T21:26:17+01:00 2019-09-27T21:26:17+01:00 "Here are the steps to reproduce: 1. in a browser, start typing so that the message signature autocomplete pops up. 2. write something that will cause the ""Correctable error"" dialog to block your workflow when you hit ""Ctrl+S"". Now you have both the dialog and the popup list on the screen. 3. Click ""Continue"" in the dialog. Kaboom. See attached screenshot. > Yeah, I thought it might be an elusive bug. Do you at least get both modals > at the same time? (which even in itself is very annoying) > I wonder, do you use real Xorg X11 or Wayland and XWayland > Xorg: {{{ X.Org X Server 1.20.5 X Protocol Version 11, Revision 0 Build Operating System: Linux 4.4.0-161-generic x86_64 Ubuntu Current Operating System: Linux parmenides 5.3.0-10-generic #11-Ubuntu SMP Mon Sep 9 15:12:17 UTC 2019 x86_64 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-10-generic root=UUID=34c9e298-cc7f-4c67-9d5a-9011596ce3c4 ro net.ifnames=0 biosdevname=0 acpi_enforce_resources=lax Build Date: 05 September 2019 02:23:31PM xorg-server 2:1.20.5+git20190820-0ubuntu3 (For technical support please see http://www.ubuntu.com/support) Current version of pixman: 0.38.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. }}}" Jan Vrany 295 Reloading an image after saving it, causes StX to run into MiniDebugger default defect new 2019-10-04T09:46:48+01:00 2019-10-04T09:49:44+01:00 "I have saved my work into an image to be able to continue at the save point but the image does not want to load. When I start StX it runs and ends up in the MiniDebugger. The session log: [[https://swing.fit.cvut.cz/projects/stx-jv/attachment/ticket/295/smalltalk_2019-10-04_utf8.log|smalltalk_2019-10-04_utf8]] The image (an external link to ulozto.cz server as it is too large to upload here): [[https://uloz.to/file/8sFJKkexQrXJ/st-icons-7z|StX broken image]] " patrik.svestka@… 296 "Clicking on Widget Gallery tab on the right ""User Def."" brings up a debugger window with MessageNotUnderstood message" default defect new 2019-10-04T09:52:43+01:00 2019-10-04T09:52:43+01:00 "When clicking on the right tab ""User Def."" a debugger window comes forward. The walkback is: {{{ [MessageNotUnderstood]: Color class does not understand: #darkGreen in process UIPainter [548] Color class(Object) >> doesNotUnderstand: Message(#darkGreen) {4562944} [16] Color class(**NONE**) >> darkGreen {4567040} [7] MeterClackCounter >> initialize {4571136} [7] MeterClackCounter(GraphicsMedium) >> initializeForDevice: a WinWorkstation(WinSta0) {4575232} [10] MeterClackCounter class(SimpleView class) >> in: a UIGalleryView::Palette {4579328} [19] MeterClackCounterSpec(UISpecification) >> basicCreateViewFor:in: a UIBuilder a UIGalleryView::Palette {4583424} [11] MeterClackCounterSpec(UISpecification) >> createViewFor:in: a UIBuilder a UIGalleryView::Palette {4587520} [5] MeterClackCounterSpec(UISpecification) >> buildViewWithLayoutFor:in: a UIBuilder a UIGalleryView::Palette {4591616} [12] [] in SpecCollection>>buildSubViewsFor:in: >> value: MeterClackCounterSpec(Meter Clack Counter) {4595712} [15] Array(SequenceableCollection) >> collect: [] in SpecCollection>>buildSubViewsFor:in: {4599808} [11] SpecCollection >> buildSubViewsFor:in: a UIBuilder a UIGalleryView::Palette {4603904} [7] SpecCollection >> buildViewWithLayoutFor:in: a UIBuilder a UIGalleryView::Palette {4608000} [6] FullSpec >> buildViewFor:in: a UIBuilder a UIGalleryView::Palette {4612096} [111] UIGalleryView::Palette >> specification: #(#FullSpec #name: #clocksSpec #window: #(#Windo...eLabel: true #adjust: #left #canUIDrag: false)))) {4616192} [32] [] in UIGalleryView>>selectionHasChanged >> value {4620288} [30] Block >> on:do: NotFoundError [] in UIGalleryView>>selectionHasChanged (optimized) {4624384} [11] UIGalleryView >> selectionHasChanged {4628480} [31] [] in UIGalleryView>>initialize >> value: 1 {4632576} [8] UIGalleryView(NoteBookView) >> selectionChanged {4636672} [16] UIGalleryView(NoteBookView) >> selection: 1 {4640768} [9] UIGalleryView(NoteBookView) >> update:with:from: #value 1 ValueHolder(1) {4644864} [8] UIGalleryView >> update:with:from: #value 1 ValueHolder(1) {4648960} [7] [] in Object>>changed:with: >> value: a UIGalleryView {4653056} [7] ValueHolder(Model) >> dependentsDo: [] in Object>>changed:with: {4657152} [15] ValueHolder(Object) >> changed:with: #value 1 {4661248} [6] ValueHolder(ValueModel) >> value: 1 {4665344} [15] UISelectionPanel >> majorSelection: 3 {4669440} [22] UISelectionPanel(Object) >> perform:with: #majorSelection: 3 {4673536} [31] AspectAdaptor >> value: 3 {4677632} [11] NoteBookView >> selectionChanged {4681728} [13] NoteBookView >> selection: 3 {4685824} [9] NoteBookView >> userSelection: 3 {4689920} [5] NoteBookView >> buttonPress:x:y: 1 483 235 {4694016} [23] NoteBookView(Object) >> perform:withArguments: #buttonPress:x:y: #(1 483 235) {4698112} [169] NoteBookView(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::ButtonPressEvent(#buttonPress:x:y: view: NoteBookView args: #(1 483 235)) #buttonPress:x:y: #(1 483 235) a UIGalleryView::Palette true {4702208} [238] NoteBookView(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::ButtonPressEvent(#buttonPress:x:y: view: NoteBookView args: #(1 483 235)) a UIGalleryView::Palette true {4706304} [5] [] in WindowGroup>>processEventsWithModalGroup: >> value {4710400} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {4714496} [15] WindowGroup >> processEventsWithModalGroup: nil {4718592} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {4722688} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {4726784} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {4730880} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {4734976} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {4739072} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(UIPainter) [] in WindowGroup>>eventLoopWhile:onLeave: {4743168} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {4747264} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {4751360} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(UIPainter) [] in WindowGroup>>eventLoopWhile:onLeave: {4755456} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {4759552} [25] [] in WindowGroup>>startupWith: >> value {4763648} [26] Block >> ensure: [] in WindowGroup>>startupWith: {4767744} [12] [] in WindowGroup>>startupWith: >> value {4771840} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {4775936} [14] [] in Process>>start >> value {4780032} [34] Block >> on:do:ensure: SignalSet(RestartProcessRequest TerminateProcessRequest AbortAllOperationRequest) [] in Process>>start [] in Process>>start {4784128} [15] Process >> start {4788224} [35] UndefinedObject >> nil {4792320} [0] }}}" patrik.svestka@… 302 Unstoppable tests default defect new 2020-06-16T17:41:09+01:00 2020-06-16T17:41:09+01:00 "If one wants run all tests via `run all` button, sometimes it is impossible to stop the test run. This happens occasionally and I don't know the conditions which need to be satisfied for this bug to propagate. I have not yet debugged it. I'm including a screencast to show what happens. " patrik.svestka@… 303 Hard to find search and replace facility default defect new 2020-06-16T17:47:38+01:00 2020-06-16T17:48:04+01:00 "It is kind of hard to find where you just replace a string in a method. It is on the `String search` window, but it is below and ""kind of"" hiden. I think it would be better to have the replace part always activated (something like if empty it would not replace anything) and visually separated from the search part so one could immediatally find it. Maybe even rename the whole window from `String search` to e.g. `String search and replace`. The current String search dialog window: [[Image(ticket:303:better_search_and_replace_dialog.png,640px)]] " patrik.svestka@… 304 In the settings changing to language brings a debugger window default defect new 2020-12-18T11:20:10Z 2020-12-18T11:20:10Z "Going to system/settings and clicking on Language brings the debugger window: The message: `[MessageNotUnderstood]: WindowSensor does not understand: #enqueueMessage:for: in process SettingsDialog [266]` The walkback text: {{{ WindowSensor(Object) >> doesNotUnderstand: Message(#enqueueMessage:for:) {8069120} [16] WindowSensor(**NONE**) >> enqueueMessage:for: #beVisiblePostUpdate a VerticalPanelView {8073216} [10] VerticalPanelView(PanelView) >> beVisible {8077312} [10] VerticalPanelViewSpec(UISpecification) >> setVisibilityAttribute:in: false a VerticalPanelView {8081408} [7] VerticalPanelViewSpec(ComponentSpec) >> setAttributesIn:with: a VerticalPanelView a UIBuilder {8085504} [16] VerticalPanelViewSpec(ViewSpec) >> setAttributesIn:with: a VerticalPanelView a UIBuilder {8089600} [11] VerticalPanelViewSpec(PanelViewSpec) >> setAttributesIn:with: a VerticalPanelView a UIBuilder {8093696} [13] VerticalPanelViewSpec(UISpecification) >> buildViewWithLayoutFor:in: a UIBuilder an ApplicationSubView {8097792} [18] VerticalPanelViewSpec(ViewWithSubcomponentsSpec) >> buildViewWithLayoutFor:in: a UIBuilder an ApplicationSubView {8101888} [4] VerticalPanelViewSpec(PanelViewSpec) >> buildViewWithLayoutFor:in: a UIBuilder an ApplicationSubView {8105984} [4] [] in SpecCollection>>buildSubViewsFor:in: >> value: VerticalPanelViewSpec(VerticalPanel1) {8110080} [14] Array >> do: [] in SpecCollection>>buildSubViewsFor:in: {8114176} [9] SpecCollection >> buildSubViewsFor:in: a UIBuilder an ApplicationSubView {8118272} [10] SpecCollection >> buildViewFor:in: a UIBuilder an ApplicationSubView {8122368} [2] UIBuilder >> buildWindowFromSpec: SpecCollection {8126464} [4] UIBuilder >> buildFromSpec: SpecCollection {8130560} [2] AbstractSettingsApplication::LanguageSettingsAppl(ApplicationModel) >> buildSpec:asSubCanvasWithBuilder: SpecCollection a UIBuilder {8134656} [34] AbstractSettingsApplication::LanguageSettingsAppl(ApplicationModel) >> buildSubCanvas:withMenu:withBuilder: FullSpec(windowSpec) false a UIBuilder {8138752} [13] AbstractSettingsApplication::LanguageSettingsAppl(ApplicationModel) >> buildSubCanvas:withBuilder: FullSpec(windowSpec) a UIBuilder {8142848} [4] [] in SubCanvas>>rebuild >> value {8146944} [86] Block >> ensure: [] in SubCanvas>>rebuild {8151040} [12] SubCanvas >> rebuild {8155136} [106] SubCanvas >> client:spec:builder: an AbstractSettingsApplication::LanguageSettingsAppl #windowSpec nil {8159232} [30] SubCanvas >> updateFromChannels {8163328} [33] SubCanvas >> update:with:from: #value an AbstractSettingsApplication::LanguageSettingsAppl ValueHolder(an AbstractSettingsApplication::LanguageSettingsAppl) {8167424} [3] [] in Object>>changed:with: >> value: a SubCanvas {8171520} [7] ValueHolder(Model) >> dependentsDo: [] in Object>>changed:with: {8175616} [15] ValueHolder(Object) >> changed:with: #value an AbstractSettingsApplication::LanguageSettingsAppl {8179712} [6] ValueHolder(ValueModel) >> value: an AbstractSettingsApplication::LanguageSettingsAppl {8183808} [15] SettingsDialog >> selectionChanged {8187904} [84] SettingsDialog >> update:with:from: #value a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language] ValueHolder(a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language]) {8192000} [6] [] in Object>>changed:with: >> value: a SettingsDialog {8196096} [7] ValueHolder(Model) >> dependentsDo: [] in Object>>changed:with: {8200192} [15] ValueHolder(Object) >> changed:with: #value a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language] {8204288} [6] ValueHolder(ValueModel) >> value: a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language] {8208384} [15] ValueHolder(Object) >> perform:with: #value: a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language] {8212480} [31] ValueHolder(Object) >> perform:withOptionalArgument:and: #value: a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language] a HierarchicalListView {8216576} [13] HierarchicalListView(View) >> sendChangeMessage:with: #value: a SettingsDialog::HierarchicalApplicationList::ApplicationItem [Language] {8220672} [17] HierarchicalListView(SelectionInListModelView) >> selectionChanged {8224768} [20] HierarchicalListView(SelectionInListModelView) >> buttonPressOrReleaseAtLine:x:y: 2 83 44 {8228864} [21] HierarchicalListView >> buttonPressOrReleaseAtLine:x:y: 2 83 44 {8232960} [7] HierarchicalListView(SelectionInListModelView) >> buttonPress:x:y: 1 83 44 {8237056} [116] HierarchicalListView >> buttonPress:x:y: 1 83 44 {8241152} [56] HierarchicalListView(Object) >> perform:withArguments: #buttonPress:x:y: #(1 83 44) {8245248} [170] HierarchicalListView(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::ButtonPressEvent(#buttonPress:x:y: view: HierarchicalListView args: #(1 83 44)) #buttonPress:x:y: #(1 83 44) an EditField true {8249344} [238] HierarchicalListView(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: WindowEvent::ButtonPressEvent(#buttonPress:x:y: view: HierarchicalListView args: #(1 83 44)) an EditField true {8253440} [5] [] in WindowGroup>>processEventsWithModalGroup: >> value {8257536} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {8261632} [15] WindowGroup >> processEventsWithModalGroup: nil {8265728} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {8269824} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {8273920} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {8278016} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {8282112} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {8286208} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(SettingsDialog) [] in WindowGroup>>eventLoopWhile:onLeave: {8290304} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {8294400} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {8298496} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(SettingsDialog) [] in WindowGroup>>eventLoopWhile:onLeave: {8302592} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {8306688} [25] [] in WindowGroup>>startupWith: >> value {8310784} [26] Block >> ensure: [] in WindowGroup>>startupWith: {8314880} [12] [] in WindowGroup>>startupWith: >> value {8318976} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {8323072} [14] [] in Process>>start >> value {8327168} [34] Block >> on:do:ensure: SignalSet(AbortAllOperationRequest RestartProcessRequest TerminateProcessRequest) [] in Process>>start [] in Process>>start {8331264} [15] Process >> start {8335360} [35] UndefinedObject >> nil {8339456} [0] }}} " patrik.svestka@… 305 libscm bug - comparing class with the newest in the repository default defect testing 2020-12-18T11:21:33Z 2021-02-19T08:37:27Z "Action description: click on message in a class and select a method => clicked on 'Compare class with the newest in the repository' Error description: `[SubscriptOutOfBoundsError]: subscript (0) out of bounds in process NewSystemBrowser [79]` Complete walkback: {{{ [SubscriptOutOfBoundsError]: subscript (0) out of bounds in process NewSystemBrowser [79] OrderedCollection(Object) >> subscriptBoundsError: 0 {3350528} [11] OrderedCollection >> at: 0 {3354624} [8] [] in HGSourceCodeManager class>>revisionLogOf:fromRevision:toRevision:numberOfRevisions:fileName:directory:module: >> value {3358720} [82] (1) SmallInteger >> timesRepeat: [] in HGSourceCodeManager class>>revisionLogOf:f...sion:numberOfRevisions:fileName:directory:module: {3362816} [5] HGSourceCodeManager class >> revisionLogOf:fromRevision:toRevision:numberOfRevisions:fileName:directory:module: ASMenuTree '398:02afc7d0970e' '398:02afc7d0970e' nil 'ASMenuTree.st' 'asume' 'ps' {3366912} [80] HGSourceCodeManager class(AbstractSourceCodeManager class) >> revisionLogOf:fromRevision:toRevision:finishAfter: ASMenuTree '398:02afc7d0970e' '398:02afc7d0970e' nil {3371008} [50] HGSourceCodeManager class(AbstractSourceCodeManager class) >> revisionLogOf:fromRevision:toRevision: ASMenuTree '398:02afc7d0970e' '398:02afc7d0970e' {3375104} [41] HGSourceCodeManagerUtilities(SourceCodeManagerUtilities) >> compareClassWithRepository:askForRevision: ASMenuTree false {3379200} [151] Tools::NewSystemBrowser >> compareAgainstNewestInRepository:usingManager: ASMenuTree HGSourceCodeManager {3383296} [12] Tools::NewSystemBrowser >> doCompareClassesWithRepository:usingManager: Set(ASMenuTree) HGSourceCodeManager {3387392} [9] [] in Tools::NewSystemBrowser>>selectorMenuCompareClassAgainstNewestInRepositoryUsingManager: >> value {3391488} [10] [] in WindowGroup>>withCursor:do: >> value {3395584} [32] Block >> ensure: [] in WindowGroup>>withCursor:do: {3399680} [12] WindowGroup >> withCursor:do: Cursor(wait) [] in Tools::NewSystemBrowser>>selectorMenuCompareClassAgainstNewestInRepositoryUsingManager: {3403776} [37] ApplicationWindow(TopView) >> withCursor:do: Cursor(wait) [] in Tools::NewSystemBrowser>>selectorMenuCompareClassAgainstNewestInRepositoryUsingManager: {3407872} [6] Tools::NewSystemBrowser(ApplicationModel) >> withCursor:do: Cursor(wait) [] in Tools::NewSystemBrowser>>selectorMenuCompareClassAgainstNewestInRepositoryUsingManager: {3411968} [9] Tools::NewSystemBrowser(ApplicationModel) >> withWaitCursorDo: [] in Tools::NewSystemBrowser>>selectorMenuCompareClassAgainstNewestInRepositoryUsingManager: {3416064} [5] Tools::NewSystemBrowser >> selectorMenuCompareClassAgainstNewestInRepositoryUsingManager: HGSourceCodeManager {3420160} [9] Tools::NewSystemBrowser >> selectorMenuCompareClassAgainstNewestInRepositoryUsingManagerNamed: #HGSourceCodeManager {3424256} [6] Tools::NewSystemBrowser(Object) >> perform:with:with: #selectorMenuCompareClassAgainstNewestInRepositoryUsingManagerNamed: #HGSourceCodeManager HGSourceCodeManager {3428352} [31] [] in Tools::NewSystemBrowser>>scmMenuForManagerNamed:selector: >> value {3432448} [30] Block >> valueWithArguments: nil {3436544} [38] MenuPanel >> accept:index:toggle:receiver: MenuPanel::Item('Compare Class with Newest in Repository') 5 nil a Tools::NewSystemBrowser {3440640} [38] [] in MenuPanel>>processMenuSelectItemEvent: >> value {3444736} [15] MenuPanel >> processMenuSelectItemEvent: MenuEvent::MenuSelectItemEvent(#processMenuSelec...temEvent: view: MenuPanel args: #(""recursive"")))) {3461120} [22] MenuPanel(Object) >> perform:withArguments: #processMenuSelectItemEvent: #(MenuEvent::MenuSelectItemEvent(#processMenuSelectItemEvent: view: MenuPanel args: #(""recursive""))) {3477504} [88] MenuPanel(DisplaySurface) >> dispatchEvent:type:arguments:withFocusOn:delegate: MenuEvent::MenuSelectItemEvent(#processMenuSelec...temEvent: view: MenuPanel args: #(""recursive"")))) #processMenuSelectItemEvent: #(MenuEvent::MenuSelectItemEvent(#processMenuSelectItemEvent: view: MenuPanel args: #(""recursive""))) a SelectionInListView false {3506176} [238] MenuPanel(DisplaySurface) >> dispatchEvent:withFocusOn:delegate: MenuEvent::MenuSelectItemEvent(#processMenuSelec...temEvent: view: MenuPanel args: #(""recursive"")))) a SelectionInListView false {3522560} [5] MenuPanel >> dispatchEvent:withFocusOn:delegate: MenuEvent::MenuSelectItemEvent(#processMenuSelec...temEvent: view: MenuPanel args: #(""recursive"")))) a SelectionInListView true {3538944} [28] [] in WindowGroup>>processEventsWithModalGroup: >> value {3543040} [221] Block >> on:do:ensure: LastEventQuery (private in WindowGroup) [] in WindowGroup>>processEventsWithModalGroup: [] in WindowGroup>>processEventsWithModalGroup: {3547136} [15] WindowGroup >> processEventsWithModalGroup: nil {3551232} [232] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {3555328} [152] SignalSet >> handle:do: [] in WindowGroup>>eventLoopWhile:onLeave: [] in WindowGroup>>eventLoopWhile:onLeave: {3559424} [14] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {3563520} [81] Block >> ensure: [] in WindowGroup>>startupWith: (optimized) {3567616} [12] [] in WindowGroup>>eventLoopWhile:onLeave: >> value {3571712} [184] WindowGroup::WindowGroupQuery class(Notification class) >> answer:do: WindowGroup(NewSystemBrowser) [] in WindowGroup>>eventLoopWhile:onLeave: {3575808} [10] [] in WindowGroup::WindowGroupQuery class>>answer:do: >> value {3579904} [4] Block >> ensure: [] in WindowGroup::WindowGroupQuery class>>answer:do: (optimized) {3584000} [12] WindowGroup::WindowGroupQuery class >> answer:do: WindowGroup(NewSystemBrowser) [] in WindowGroup>>eventLoopWhile:onLeave: {3588096} [5] WindowGroup >> eventLoopWhile:onLeave: [] in WindowGroup>>startupWith: (optimized) [] in WindowGroup>>startupWith: (optimized) {3592192} [25] [] in WindowGroup>>startupWith: >> value {3596288} [26] Block >> ensure: [] in WindowGroup>>startupWith: {3600384} [12] [] in WindowGroup>>startupWith: >> value {3604480} [27] ExceptionHandlerSet >> handleDo: [] in WindowGroup>>startupWith: {3608576} [14] [] in Process>>start >> value {3612672} [34] Block >> on:do:ensure: SignalSet(AbortAllOperationRequest RestartProcessRequest TerminateProcessRequest) [] in Process>>start [] in Process>>start {3616768} [15] Process >> start {3620864} [35] UndefinedObject >> nil {3624960} [0] }}} " patrik.svestka@… 306 stx:libjava: JavaClassReloaderTests >> test_concurrency_01 often fails on heavily loaded systems default defect new 2021-02-17T07:44:15Z 2021-02-17T07:44:15Z "...due to unknown reasons. So far two cases were identified: **1. No class associated with given java.lang.Class!** Here the problem is that wrong native impl is called from native method: {{{ JavaNativeMethodImpl_OpenJDK7 class(JavaNativeMethodImpl_OpenJDK6 class) >> _java_lang_Object_getClass: [7] receiver: JavaNativeMethodImpl_OpenJDK7 selector: #'_java_lang_Object_getClass:' args: 1 this : public java.lang.String java.lang.String.substring(int) vars: 1 class : nil inst: 1 superclass : JavaNativeMethodImpl_OpenJDK6 2 flags : 0 3 methodDictionary: MethodDictionary() 4 lookupObject: nil 5 instSize : 0 6 instvars : nil 7 name : #'JavaNativeMethodImpl_OpenJDK7' 8 category : #'Languages-Java-Support-Java 7' 9 classvars : nil 10 comment : nil 11 subclasses : Class::ArrayWithSequenceNumberValidation(JavaNativeMethodImpl_OpenJDK8 JavaNativeMethodImpl_OracleJDK7) 12 classFilename: '/var/lib/jenkins/workspace/stx/stx_jv/x86_64-pc-linux-gnu/build/stx/libjava/JavaNativeMethodImpl_OpenJDK7.st' 13 package : #'stx:libjava' 14 revision : '$Changeset: 3e1e2a1e6971f2e214570a12dac648684b13d6d8 $ SHA1=dc04a01bad37d5374e642398c5ed8f63314ecfd5 SCM=HG' 15 environment : Smalltalk 16 signature : nil 17 attributes : #(nil nil nil JavaVMData) source: 1 _java_lang_Class_getConstantPool: this 2 3 4 5 | class | 6 7>> class := Reflection classForJavaClassObject: this. 8 class isJavaClass ifFalse:[ 9 ^nil 10 ]. 11 12 ^ Reflection javaConstantPoolObjectFor:class constantPool. 13 14 ""Created: / 21-12-2010 / 20:00:02 / Jan Vrany "" 15 ""Modified: / 28-02-2011 / 18:05:13 / Marcel Hlopko "" 16 ""Modified: / 31-07-2012 / 00:47:15 / Jan Vrany "" java.lang.reflect.Method(java.lang.Object) >> getClass () : Class [Object.java:in native code] receiver: public java.lang.String java.lang.String.substring(int) selector: #'getClass()Ljava/lang/Class;' args: vars: inst: 1 _lockWord_ : 0 2 override : 0 3 securityCheckCache: nil 4 clazz : java.lang.Class@5328896(java.lang.String) 5 slot : a JavaMethod(JAVA::java::lang::String.substring(I)Ljava/lang/String;) 6 name : ""substring"" 7 returnType : java.lang.Class@5328896(java.lang.String) 8 parameterTypes: java/lang/Class[](java.lang.Class@5697536(int)) 9 exceptionTypes: java/lang/Class[]() 10 modifiers : 65537 11 signature : nil 12 genericInfo : nil 13 annotations : nil 14 parameterAnnotations: nil 15 annotationDefault: nil 16 methodAccessor: nil 17 root : public java.lang.String java.lang.String.substring(int) 18 declaredAnnotations: nil source: 1>> /* source not available... 2 3 decompiling JAVA::java::lang::Object>>getClass()Ljava/lang/Class; 4 nA: 0 nV: 0 nT: 0 5 6 1: 24 03 pushGlobal 3 #'JavaVM:NativeMethodsImplementation' 7 3: 0F pushSelf 8 4: 16 00 02 send1 2 #'_java_lang_Object_getClass:' [0] 9 7: 00 retTop 10 11 */ }}} As you may see, getClass() native proxy method sends the correct selector, but the method executed is different. Interestingly enough, selector in wrong method context is correct one! Some hidden bug in method lookup? **2. null pointer exception in ReflectiveMethod** {{{ Caused by: java.lang.NullPointerException: null pointer at org.eclipse.jdt.internal.compiler.lookup.MethodVerifier.toString()Ljava/lang/String;(MethodVerifier.java:971) at stx.libjava.tools.environment.ReflectiveField.getGenericSignature()[C(ReflectiveField.java:93) }}} If you look at `ReflectiveField.java:93`, there's no call to `toString()`: {{{ Method m = field.getClass().getDeclaredMethod(""getGenericSignature""); }}} Again, wrong method returned from a lookup? ---- **STEPS TO REPRODUCE:** (on jenkins-debian) run `make test` in stx:libjava in parallel 4-5 times (on 4-core system) ---- **Ideas of what to do:** 1. Check memory on affected system 2. Compile lookup with `-fsanitize-undefined` and try again 3. Add dtrace probes to lookup and try again" jan vrany 307 Windows launcher does not propagate exit code to caller default defect new 2022-07-12T12:14:34+01:00 2022-07-12T12:14:34+01:00 "When Smalltalk/X is executed on Windows via `stx.bat` the exist status is not propagated to the calling shell/command interpreter. == Steps to reproduce == On a Windows with MSYS2 installed, execute: {{{ git clone https://github.com/shingarov/MachineArithmetic.git wget https://github.com/Z3Prover/z3/releases/ download/z3-4.8.17/z3-4.8.17-x64-win.zip unzip z3-4.8.17-x64-win.zip copy z3-4.8.17-x64-win\bin\*.dll . make test }}} == Observed behavior == One test fails - you should see this in the output: {{{ ... VERBOSE: MachineArithmetic-Tests.YurichevBookTest >> #testXKCD287_int VERBOSE: MachineArithmetic... >> testXKCD287_int : FW...ERROR ... }}} This is okay (not a launcher problem), but then it prints: {{{ VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testITE VERBOSE: MachineArithmetic... >> testITE : FW...OK VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testNumeral VERBOSE: MachineArithmetic... >> testNumeral : FW...OK VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testProve1 VERBOSE: MachineArithmetic... >> testProve1 : FW...OK VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testPushPop VERBOSE: MachineArithmetic... >> testPushPop : FW...OK DebugProcessExecute : An error has occurred... At C:\Users\jv\AppData\Local\Temp\MachineArithmetic\stx\stx\bin\smalltalk.ps1:519 char:26 + ... exit_code = DebugProcessExecute -executable $executable -stx_switch $ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,DebugProcessExecute VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testQuantifier VERBOSE: MachineArithmetic... >> testQuantifier : FW...OK [ERROR] happened in stx.com or PowerShell script - See log file: C:\Users\jv\AppData\Local\Temp\MachineArithmetic\s tx\stx\bin\smalltalk_2022-07-12_utf8.log for more information. VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testSMT2Parser VERBOSE: MachineArithmetic... >> testSMT2Parser : FW...OK VERBOSE: MachineArithmetic-Tests.Z3CAPITest >> #testSubstituteSubexpressions VERBOSE: [ERROR] Error from PowerShell: VERBOSE: VERBOSE: [INFO] Exiting from PowerShell with code 1 }}} No error (non-zero exit code) was indicated to calling `make` which in turn indicated no error when `make test`. Also note, that the output from St/X is seemingly ramdomly mixed up with output of the launcher itself. == Expected behavior == The `make test` should ended up with an error, printing something like {{{ make: *** [GNUmakefile:24: test] Error 3 }}} Also, the output should not be mixed up. " Jan Vrany