= Features & Fixes = [[PageOutline]] ''...available in Smalltalk/X jv-branch which are not integrated to [[http://www.exept.de/en/products/smalltalk-x.html|eXept's version]]'' == Base Runtime == (stc, virtual machine, basic classes) - ENH: Added support for reading / setting Unix TTY / PTY attributes (`tcgetatr()` / `tcsetattr()`). For details, see [[https://bitbucket.org/janvrany/stx-libbasic/commits/d58698c455c1014c38627b32a1935edb9b85087a|d58698c455c1/stx.libbasic]] - FIX: Fixed nasty bug in memory manager causing VM to crash in LIFO remset processing after a scavenge. See commit 95424d78c089/stx.librun. - ENH: Added an API for smalltalk-level JIT compiler. For details, see [[https://groups.google.com/forum/#!topic/stx-jv/9lCXB65RTtA|API announcement]] and [[https://bitbucket.org/janvrany/jv-dragonfly/src/tip/CompiledCodeObjectExamples.st?fileviewer=file-view-default|examp;es]]. See 19a467599861/stx.librun. - ENH: Speed restart from snapshot (approximately 4 times) by speeding up various lookups See f7d321288000/stx.librun and fac1756ff585/stx.librun. - ENH: In STC generated code, always refer class object using {{{__STX_SomeClass}}} instead of just {{{SomeClass}}}, i.e., use {{{__STX_}}} prefix. This allow to {{{#undef SomeClass}}} in case it clashes with included definitions. - FIX: Fixed bug #68: String>>indexOf:startingAt: broken under Windows/ MINGW64. See 5fd16edf5a5f/stx.libbasic. - FIX: Fixed bug in !LargeInteger literals in stc-compiled code. - ENH: Performance & functional improvement in FFI callouts (see de37550dc3dd/stx.libbasic) - FIX: Fixed a baad bug causing VM crash when one set a breakpoint on Java Method (see librun commit 79868de791e7) - ENH: Fill in Block source position, i.e., an offset of opening bracket. Given a {{{Block}}} instance, one may ask for it's source position by {{{aBlock sourcePos}}}. Moreover, one can get a parse tree (RB) of the block by {{{aBlock parseTree}}}. This allows for nice optimizations in ''!PetitParser'' compiler. - FIX: Fixed bug in Java synchronized method invocation (see [https://swing.fit.cvut.cz/projects/stx-libjava/ticket/84 issue #84]. - FIX: Fixed !FileStream>>position, position: and setToEnd when stream is in non-buffered mode. See commit [http://swing.fit.cvut.cz/hg/stx.libbasic/rev/5e7e40d367f2 5e7e40d367f2] - ENH: When VM is compiled in DEBUG mode (default), allocate extra guard pages behind each newspace halve. - FIX: Fixed baaad bugs in various allocation routines causing overflow to memory behind newspace and thus trashing whatever data are there. See commit [https://swing.fit.cvut.cz/hg/stx.libbasic/rev/384622fa1a79 384622fa1a79]. Few VM routines suffered the same. - FIX: Fixed initialization of poly caches (they have not been cleared properly) - ENH: Performance fixes in String>>at: and Array>>at:/at:put: - see 877a8f1b326d/stx.libbasic and 9e4db770f8f5/stx.libbasic == Development tools == (stx:libtool, stx:goodies/smallsense, stx:goodies/refactoryBrowser, ...) * ENH: Revamped build script allowing anybody to build Smalltalk/X jv-branch from source. See wiki page on [[Documentation/BuildingStXWithRakefiles|building Smalltalk/X jv-branch from sources]]. Thanks to Patrik Svestka for making me to do this! * ENH: Integrated Jakub Nesveda's excellent custom refactorings ([[https://groups.google.com/forum/#!topic/stx-jv/GRnEW0LJipc|announcement]]) * ENH: Mercurial: Added support for commit amending (i.e., for {{{hg commit --amend}}}. See [[https://bitbucket.org/janvrany/stx-libscm/issues/19/add-support-for-hg-commit-amend|stx:libscm issue 19]]. * ENH: Added support for auto-configuration of SCMs. This means that in a common case it is no longer necessary manually manage mapping from package to its source code manager. See 30f4d586370e/stx.libbasic3. * FIX: Fixed SVN to work with SVN 1.7. See 6558c17e1a7f/stx.libsvn * ENH: Renamed debugger operation "Next" and "Send" tp "Step Over" and "Step Into" as the latter are more widely used. This makes debugger easier to use for both newcomers and those of us who use man different development environments and not only Smalltalk) == User Interface == (stx:libview, stx:libview2, stx:libwidg, stx:libwidg2) * ENH: X11: Compile GLXWorkstation with OpenGL. Support for old (and unmaintained) VOGL has been dropped. For details, see 7cd36eb4b09c/stx.libview, c730140a0156/stx.libview and e1c6a2aa41b6/stx.libview * FIX: Reinitialization of XFT fonts after snapshot restart. See 8061a9b76953/stx.libview and 6cc9d56cb05d/stx.libview * FIX: Issue #42 User-defined (Xft) fonts are not preserved upon snapshot restart... * ENH: Ship [[https://swing.fit.cvut.cz/projects/stx-jv|Smalltalk/X jv-branch]] with Cairo support. See [[https://bitbucket.org/janvrany/stx-goodies-libcairo|https://bitbucket.org/janvrany/stx-goodies-libcairo]] * FIX/ENH: Better (standard) selection / cursor movement. See [[http://swing.fit.cvut.cz/hg/stx.libwidg/file/876ca06a1df8/EditTextView.st#l470|EditTextView>>selection_and_cursor_movement]] for details. * ENH: Linux builds include XFT support for smoother text rendering. Check [[XftFontsHowTo|how to enable anti-aliased fonts on Linux]]. * ENH: X11: Make Smalltalk/X be more adhering to [[https://tronche.com/gui/x/icccm/|ICCCM 2.0]] and [[http://standards.freedesktop.org/wm-spec/wm-spec-latest.html|EWMH 1.5]] standards. This improves UX of Smalltalk/X when run under modern window manager, such as Gnome Shell. * FIX: Fixed a bad bug in Xft font rendering causing a VM crash (due to memory corruption, see c5cb9d5dfaae/stx.libview) * ENH: Separated FontConfig-related code from {{{XftFontDescription}}} to classes {{{FcPattern}}} and {{{FcConstants}}}. See 000f5ae96151/stx.libview, 51e71e95c952/stx.libview and f2d585b5f20e/stx.libview - ENH: '''Major''' cleanup and refactoring of keyboard mapping to allow applications to define their own shortcuts (so far shortcuts definition was sort-of-global). As a side effect, shortcut definition has been cleaned up and support for national languages in X11 has been significantly improved (not it works for most languages out of the box. no need to customize keymapping to map from X11 keysym to a characrer. XIC still yet to be implemented). For details, see: * 2bac4f32553f/stx.libview: Allow individual applications to define their own shortcut mapping * 43c6888f5f92/stx.libview: Changed shortcut labels in menus to always show uppercase letters * 8bbd397fe321/stx.libview: Keyboard mapping: refactored `KeyboardMap` to distinguish between a binding and an alias(es) * e248f3b96260/stx.libview: Keyboard mapping: issue warning if one attempts to bind a shortcut to an action which already * d01faa4c1b02/stx.libview: Keyboard mapping: initialize default shortcuts in `DeviceWorkstation` * c7cab63f9ec9/stx.libview: X11: translate national characters early in X11 event processing * b7688f8c4d7a/stx.libtool: Keyboard mapping: code updated to catch up with `KeyboardMap` * c03e750ffe41/stx.libwidg2: Align shortcuts in menus to the right * 9ff89d98ba80/stx.libwidg2: Keyboard mapping: code updated to catch up with `KeyboardMap` * 13a835555b48/stx.goodies.smallsense: Keyboard mapping: code updated to catch up with `KeyboardMap` * 2b0f9dbe6e43/stx.projects.smalltalk: Keyboard mapping: remove all shortcut definitions from `keyboard.rc` == Bug Fixes == [[TicketQuery(status=closed,order=id,desc=1,format=list,col=summary)]]