Permalink
Commits on Sep 18, 2016
  1. libgst: Do not re-define yylineno with newer versions of flex

    With flex 2.6.0 the minor version is < 31 and one would end with
    redefining the yylineno. Make the check more specific.
    
    2016-09-18  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* genbc-scan.l: Compile with flex 2.6.0.
    	* genpr-scan.l: Compile with flex 2.6.0.
    	* genvm-scan.l: Compile with flex 2.6.0.
    zecke committed Sep 18, 2016
Commits on Jan 27, 2016
  1. blox: Change template to work with the new syntax

    2016-01-25  Thomas Weir Worthington <thomas@2worthingtons.net>
    
    	* ClassHierBrow.st: updated method template to new
    	syntax
    
    [hfreyther: Manually applied the patch]
    Thomas Weir Worthington committed with zecke Jan 27, 2016
Commits on Jan 23, 2016
  1. blox: Fix fall-out from calling >>#initialize as part of new

    The code assumes that parentView is set before >>#initialize is
    called and this assumption was broken by the change. In the long
    run it might be best to call this routine >>#initializeView and
    or integrate the setting of the parent view. The patch changes
    the base class to restore the old behavior for creation.
    
    Call >>#initialize on the Workspace so that the variableNames
    tracker is properly initialized. Remove one unneeded call for
    the STInST module.
    
    2016-01-23  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* BrowShell.st: Call >>#initialize.
    	* DebugSupport.st: Do not call >>#initialize.
    	* View.st: Use >>#basicNew to instantiate.
    
    2016-01-23  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* BloxBasic.st: Use >>#basicNew to create Gui items.
    zecke committed Jan 23, 2016
Commits on Nov 7, 2015
  1. libgst: Add alternative multiplication overflow check

    Apple clang on OSX and the version on FreeBSD optimize the
    multiplication check away. Clang introduced a family of
    builtins to do the multiplication and check for the overflow
    and GCC made the API usable. For clang we would need to know
    if intptr_t is of type int, long int, long long int and
    then use the smul, smull smulll.
    Luckily clang is adopting the better interface and this is
    what we are starting to use now. This means the new code
    will be used on GCC5 (and later) and some future versions of
    clang.
    
    2015-11-07  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* build-aux/overflow-builtins.m4: Add new macro.
    	* configure.ac: Use GST_C_OVERFLOW_BUILTINS macro.
    
    2015-11-07  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* interp.inl: Add alternative mul_with_check implementation.
    zecke committed with zecke Nov 7, 2015
  2. misc: Increase version number after the release

    2015-11-07  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* configure.ac: Increase the version number after the
    	release.
    zecke committed with zecke Nov 7, 2015
Commits on Oct 25, 2015
  1. i18n: Fix printing of integers and floats

    The printing of Integers didn't work as the stream was
    attempted to be indexed out of bounds and the calculation
    of the number of required groups was wrong in many cases.
    
    2015-10-18  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* package.xml: Add LcNumericTest.st and testcase.
    	* Number.st: Fix calculation in
    	>>#computeNumberOfGroups. Support integer
    	printing in >>#basicPrint🔛.
    	* LcNumericTest.st: Add new testcase.
    zecke committed Oct 18, 2015
Commits on Sep 8, 2015
  1. dbd-mysql: Fix breakage from Behavior>>#new changes

    In ac2ada5 I had changed
    >>#new to always call >>#initialize. When converting the
    code I did not update the MySQLPacket class that assumes
    that a stream has been set before initialize is being called.
    Use >>#basicNew to avoid the early call to >>#initialize.
    This has been found and analyzed by Mark Bratcher.
    
    2015-09-08  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Connection.st: Use >>#basicNew in MySQLPacket class >> #on:.
    zecke committed Sep 8, 2015
Commits on Aug 8, 2015
  1. seaside: Correct WAGNUSmalltalkPlatform >> #filesIn:

    File does not understand first. Follow the comment and
    reject any file that starts with '.' by first stripping
    the path and converting it to a String.
    
    Manually tested using interactive GST session on
    '/Users/ich'. The issue was reported by Mark Bratcher
    on github.
    
    2015-08-08  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Seaside-GST.st: Correct >>#filesIn:.
    zecke committed Aug 8, 2015
Commits on Aug 2, 2015
  1. libgst: Address clang compiler warning

    Use if () {} else {} instead of an else if() {} that would
    always be true. First we compare cur_time to < next_poll_ms
    so in the else branch it must be >=.
    
    events.c:218:20: warning: variable 'ms' is used uninitialized whenever 'if' condition is false
          [-Wsometimes-uninitialized]
              else if (cur_time >= next_poll_ms)
                       ^~~~~~~~~~~~~~~~~~~~~~~~
    events.c:233:11: note: uninitialized use occurs here
          if (ms == INFINITE)
              ^~
    events.c:218:16: note: remove the 'if' if its condition is always true
              else if (cur_time >= next_poll_ms)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    events.c:207:18: note: initialize the variable 'ms' to silence this warning
          unsigned ms;
                     ^
                      = 0
    
    2015-08-02  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* events.c: Use else instead of else if in
    	poll_timer_thread.
    zecke committed May 21, 2015
  2. libgst: Fix the cint.c build on XNU/Darwin

    fdatasync appears to be available when linking but there is
    no declaration in XNU. Move from checking the function to
    checking the declaration.
    
    Fixes:
    
    cint.c:663:35: error: use of undeclared identifier 'fdatasync'
      _gst_define_cfunc ("fdatasync", fdatasync);
                                      ^
    
    2015-05-21  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* configure.ac: Move from AC_CHECK_FUNCS_ONCE to AC_CHECK_DECLS
    	for fdatasync.
    
    2015-05-21  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* cint.c: Change to use #if instead of #ifdef and update
    	the macro to change for.
    zecke committed May 21, 2015
  3. dbi: Correct >>#columnNames selector

    The code attempted to go through the columns and then collect
    their name, instead it collected the name of the table for each
    column.
    
    DBI doesn't have unit tests by itself so I am using the SQLite
    implementation to run the test.
    
    2015-08-01  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Table.st: Fix >>#columnNames to return the column
    	names and not the table name.
    
    2015-08-01  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* SQLiteTests.st: Add SQLiteTableTestCase class and
    	>>#testTableColumns. Add the testTableColumns to the
    	SQLiteTestSuite class >> #suite selector.
    zecke committed Aug 2, 2015
Commits on May 2, 2015
  1. libgst: Fix small amount of sleeps on OSX

    create_timer is not available on OSX which means the
    code will fall back to use setitimer. In case we want
    to sleep a short amount of time we either cancel the
    timeout or sleep a very long time.
    
    * If nsTime < now we would sleep a very long time.
    * If deltaMilli == 0 we could cancel the timer and
    never wake up.
    
    If the delta is smaller than what can be expressed in
    milliseconds sleep the shortest time possible as it is
    too late to cancel everything.
    
    This could be easily reproduced using the following code
    which would be unlikely to run to the end.
    
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
     (Delay forMilliseconds: 1) wait
    zecke committed Apr 15, 2015
Commits on Feb 3, 2015
  1. libgst: Include SmallInt.st before FloatD.st

    When working on the JIT and disabling inlining of integers
    we have bootstrap issues as FloatD>>signByte is using a
    compile time constant that requires the usage of SmallInteger.
    
    (ip 8)SmallInteger(Object)>>#subclassResponsibility
    (ip 4)SmallInteger(Magnitude)>>#<
    (ip 6)SmallInteger(Magnitude)>>#>=
    (ip 18)UndefinedObject(FloatD class)>>#executeStatements
    (ip 0)<bottom>
    nil
    
    kernel/FloatD.st:56: Aborted
    
    2015-02-03  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* files.c: Include SmallInt.st before Float.st.
    zecke committed Feb 3, 2015
Commits on Jan 24, 2015
  1. gst-remote: Document -I, --image-file and --no-line-numbers

    These values were not documented. Specially using an already
    existing image file is a common usecase.
    
    2015-01-25  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* scripts/Remote.st: Document -I and --no-line-numbers.
    zecke committed Jan 24, 2015
Commits on Sep 28, 2014
  1. libgst: Fix SIGALRM race and cancel a timer before starting a new one

    The below Smalltalk code could trigger a race condition. We would program
    a timer and then program another one before the first has expired. If the
    original timer expires after we have set signal handler but before the
    syscall to set the new timer was called. We could receive SIGALARM and
    our signal handler would set SIG_DFL as the handler for SIGALARM. When
    the new expiration is set and expires the default handler will terminate
    the process.
    
    Setting the application to SIG_IGN the handled signal could lead to a
    deadlock as the real expiration is never signalled to the Smalltalk
    side.
    
    The best approach seems to cancel the timer. Before we have canceled
    the timer we might run through the signal handler and signal the
    original sempahore but that appears to be fine as we will not miss
    an event or revert the signal handler too early. It might be best to
    combine "TimeoutSem initialize" of Delay class>>#handleDelayRequstor
    with the cancelation of the timer.
    
    I have only verified the working of the posix timer (timer_settime)
    and not the old interface.
    
    Eval [
            | sem a |
            sem := Semaphore new.
    
            a := [
                    [
                    (Delay forMilliseconds: 250) wait.
                    sem signal.
                    ] repeat.
            ] fork.
    
            b := [
                    [
                    (Delay forMilliseconds: 125) timedWaitOn: sem.
                    ] repeat.
            ] fork.
    
            c := [
                    [
                    (Delay forMilliseconds: 125) timedWaitOn: sem.
                    ] repeat.
            ] fork.
    
            stdin next.
    ]
    
    2014-09-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* sysdep.h: Declare _gst_sigalrm_cancel.
    	* sysdep/posix/events.c: Call _gst_sigalrm_cancel.
    	* sysdep/posix/timer.c: Implement _gst_sigalrm_cancel.
    zecke committed with zecke Sep 26, 2014
Commits on Sep 15, 2014
  1. prims: Remove opening file by integer flags

    The code path to work with integer as second argument has
    been broken forever. Let's just remove it. It should have
    used '&' instead of '&&' to apply the bitmask.
    
    2014-09-13  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* prims.def: Remove opening with second argument as integer.
    zecke committed Sep 12, 2014
Commits on Sep 12, 2014
  1. libgst: Add built-in for Behavior>>#new and >>#new:

    The addition of calling both basicNew/basicNew: followed by a
    call to initialize introduced a noticable slowdown in an
    allocation macro benchmark. By making the new >>new/>>new:
    a primitive we reduce the cost.
    
    The #initialize symbol is part of the builtin selectors so
    we can not blindly allocate it during the construction of
    the symbol table but will take the result of the built-in
    selectors.
    
    2014-08-02  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* prims.def: Introduce VMpr_Behavior_newInitialize and
    	VMpr_Behavior_newColonInitialize,
    	* sym.h: Declare _gst_initialize_symbol.
    	* sym.c: Define _gst_initialize_symbol during init and
    	restore.
    
    2014-08-02  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* kernel/Builtins.st: Use the new built-in for >>#new
    	and >>#new:.
    zecke committed Aug 2, 2014
Commits on Aug 16, 2014
  1. kernel: Fix URL>>#decodedFields

    The splitting failed as the code called "nil size" which
    was not inside the valid indexes of the array. Use the
    keyValue variable and add a testcase.
    
    Fixes: #863
    
    2014-08-16  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* kernel/URL.st: Use keyValue instead of value.
    
    2014-08-16  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* kernel/URLTest.st: Add test for URL>>#decodedFields.
    zecke committed Aug 16, 2014
Commits on Jul 26, 2014
  1. kernel/all: Make >>#new/>>#new: go through >>#initialize

    In Pharo it is common that new/new: will already go through an
    initialize call. When porting code from and to Pharo one needs
    to make sure that initialize is called and only called once or
    idempotent. Align the code with Pharo.
    
    Remove redundant >>#new implementations throughout the packages
    include in GNU Smalltalk.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* examples/PackageBuilder.st: Remove PackageBuilder class >>#new.
    	* kernel/Builtins.st: Add Object>>#initialize, change Behavior>>#new
    	and Behavior>>#new:.
    	* kernel/CompildCode.st: Remove CompildCode>>#initialize.
    	* kernel/Metaclass.st: Add Metaclass>>#new.
    	* kernel/PkgLoader.st: Remove PackageDirectories class >> #new.
    	* kernel/RecursionLock.st: Remove RecursionLock class >> #new.
    	* kernel/Semaphore.st: Remove Semaphore class >> #new.
    	* kernel/URL.st: Remove URL class >> #new.
    	* scripts/Remote.st: Remove RemoteServer class >> #new.
    	* tests/intmath.st: Remove PiSeries class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Announcements.st: Remove Announcer class >> #new,
    	SubscriptionRegistry class >> #new.
    	* AnnouncementsTests.st:  Remove TestSubscriber class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* PText.st: Remove PWorksheetText class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* BloxText.st: Remove BTextBindings class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* CairoPattern.st: Remove GradientPattern class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Amb.st: Remove Amb class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* debugtests.st: Use basicNew instead of the modified new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* md5.st: Remove MD5 class >> #new.
    	* sha1.st: Remove SHA1 class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Glorp.st: Remove CachePolicy class >> #new,
    	GlorpExpression class >> #new, ObjectTransaction class >> #new,
    	Mapping class >> #new, DatabaseConverter class >> #new,
    	DatabaseTable class >> #new, ElementBuilder class >> #new,
    	GlorpSession class >> #new, TableSorter class >> #new,
    	Tracing class >> #new, RowMap class >> #new,
    	DatabaseType class >> #new, DatabaseRow class >> #new,
    	Query class >> #new, Descriptor class >> #new, Join class >> #new,
    	MultiRowMapKey class >> #new, DescriptorSystem class >> #new,
    	DatabaseAccessor class >> #new, FieldValueWrapper class >> #new,
    	CacheManager class >> #new, UnitOfWork class >> #new,
    	Proxy class >> #new, DatabaseCommand class >> #new,
    	DatabaseSequence class >> #new, Cache class >> #new,
    	GlorpPreparedStatement class >> #new.
    	* GlorpTest.st: Remove GlorpWorker class >> #new,
    	GlorpBankAccount class >> #new, GlorpBankTransaction class
    	>> #new, GlorpThingWithLotsOfDifferentCollections class >> #new,
    	GlorpEncylopedia class >> #new, GlorpCustomer class >> #new,
    	GlorpReservation class >> #new, GlorpInt4Test class >> #new,
    	GlorpBankExampleSystem class >> #new, GlorpServiceCharge class
    	>> #new, GlorpWeakCacheTest class >> #new, GlorTransformedTime
    	class >> #new, GlorpMockSession class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Base.st: Remove GPObject class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* FileServer.st: Remove FileWebServer class >> #new.
    	* WebServer.st: Remove WebRequest class >> #new.
    	* WikiServer.st: Remove WikiPage class >> #new, WikiSettings
    	class >> #new, Wiki class >> #new, WikiHTML class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* magritte-gst.st: Remove MAVisitor class >> #new,
    	MAVisitor >> #initialize.
    	* magritte-model.st: Remove MAAdaptiveModel class >> #new,
    	MADescriptionBuilder class >> #new, MAFileModel class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* magritte-gst.st: Remove MAVisitor class >> #new,
    	MAVisitor >> #initialize.
    	* magritte-model.st: Remove MAAdaptiveModel class >> #new,
    	MADescriptionBuilder class >> #new, MAFileModel class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Core/SDAbstractStore.st: Remove SDAbstractCore class >> #new,
    	SDAbstractStore >> #initialize.
    	* Core/SDActiveRecord.st: Remove SDActiveRecord class >> #new.
    	* Core/SDConcurrentDictionary.st: Remove SDConcurrentDictionary
    	class >> #new.
    	* Store/SDMemoryStore.st: Remove SDMemoryStore class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* libsdl/EventSource.st: Remmove SdlEventSource class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Seaside-Core.st: Remove WABrush class >> #new,
    	WAConfiguration class >> #new, WAHtmlBuilder class >> #new,
    	WAHtmlDocument class >> #new, WALRUCache class >> #new,
    	WAPresenter class >> #new, WAProcessMonitor class >> #new,
    	WARenderingContext class >> #new, WAReportColumn class >>
    	#new, WARequestHandler class >> #new, WAResponse class
    	>> #new, WARoot class >> #new, WAUrl class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* magritte-seaside.st: Remove MAColumn class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Tests.st: Remove DummyStream class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* ParseTreeSearcher.st: Remove RBReadBeforeWrittenTester
    	class >> #new, RBParseTreeRule class >> #new, RBParseTreeRule
    	>> #initialize.
    	* RBParseNodes.st: Remove RBProgramNodeVisitor class >> #new,
    	RBProgramNodeVisitor >> #initialize.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Parser/SourceEval.st: Remove SourceEval class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* SUnit.st: Remove TestResource class >> #new,
    	TestResult class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Core.st: Remove SwazooResource class >> #new.
    	* HTTP.st: Remove AbstractHTTPServer class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Tetris/TetrisField.st: Remove TetrisField class >> #new.
    
    2014-07-26  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* builder/NodeBuilder.st: Remove XMLNodeBuilder class >> #new.
    	* dom/DOM.st: Remove Node class >> #new, DocuemntType class >> #new.
    	* expat/ExpatPullParser.st: Remove SAXEventSequence class >> #new.
    	* parser/XML.st: Remove Pattern class >> #new.
    	* pullparser/XMLPullParser.st: Remove XMLPullParser class >> #new.
    	* saxdriver/SAX.st: Remove SAXDispatcher class >> #new.
    	* saxparser/Parser.st: Remove SAXParser class >> #new.
    	* xpath/XPath.st: Remove XPathNodeContext class >> #new,
    	XPathExpression class >> #new.
    	* xsl/XSL.st: Remove RuleDatabase class >> #new.
    zecke committed Jul 24, 2014
  2. gst-sunit: Spawn the event loop last to avoid crashes

    It was possible that while we started to show the VisualGST
    window GTK+ would call back into Smalltalk and we would run
    the Glib dispatch while showing the window. This lead to a
    timer expiring on a non-fully realized window and leading to
    a crash inside GTK+/X11.
    
    Run the event loop after we have intitialized all of the
    VisualGST code.
    
    2014-07-20  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* scripts/Test.st: Spawn the event loop last.
    zecke committed Jul 20, 2014
  3. Revert "visualgst: Flush task queue when pressing "CTRL + .""

    This reverts commit 44cd50b. The
    snooper code doesn't appear to work correctly and seems to deadlock
    when a message is being added to the transcript.
    
    (ip 6)<unwind> BlockClosure>>#ensure:
    (ip 6)[] in RecursionLock>>#critical:
    (ip 30)[] in Semaphore>>#critical:
    (ip 6)<unwind> BlockClosure>>#ensure:
    (ip 8)Semaphore>>#critical:
    (ip 14)RecursionLock>>#critical:
    (ip 6)TextCollector>>#next:putAll:startingAt:
    (ip 14)String(SequenceableCollection)>>#nextPutAllOn:
    (ip 8)TextCollector(Stream)>>#nextPutAll:
    (ip 12)SmallInteger(Integer)>>#displayOn:
    (ip 8)TextCollector(Stream)>>#display:
    (ip 100)MethodContext>>#printOn:line:
    (ip 8)MethodContext>>#printOn:
    (ip 30)MethodContext(ContextPart)>>#backtraceOn:
    (ip 8)MethodContext(ContextPart)>>#backtrace
    (ip 6)[] in KeySnooper>>#initialize
    (ip 16)WrongClass(Exception)>>#activateHandler:
    (ip 24)WrongClass(Exception)>>#signal
    (ip 40)WrongClass class>>#signalOn:mustBe:
    (ip 24)WrongClass class>>#signalOn:mustBe:
    (ip 10)GdkEventKey(CObject)>>#address:
    (ip 8)GdkEventKey class(CObject class)>>#address:
    (ip 8)[] in KeySnooper>>#initialize
    (ip 12)<unwind> BlockClosure>>#on:do:
    (ip 10)[] in KeySnooper>>#initialize
    (ip 0)<bottom>
    
    2014-07-20  Holger Hand Peter Freyther  <holger@freyther.de>
    
    	* Misc/KeySnooper.st: Remove the file.
    	* Misc/TaskQueue.st: Remove the >>#flush selector.
    	* GtkLauncher.st: Remove invocation of KeySnooper.
    zecke committed Jul 20, 2014
Commits on Jun 25, 2014
  1. kernel: Fix return of RecursionLock>>#critical:

    In case the lock is not locked by the current process yet
    >>#critical: will not return value of the block. This is
    different to how Semaphore>>#critical: works. Fix it and
    add a testcase for both cases.
    
    2014-06-21  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* kernel/RecursionLock.st: Return the result of >>#critical:
    
    2014-06-21  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* kernel/RecursionLockTests.st: Add test for RecursionLock
    zecke committed Jun 21, 2014
Commits on May 26, 2014
  1. blox: Direct usage of result is deprecated and stops working

    Use Tcl_GetStringResult(interp) instead of interp->result on
    newer versions of Tcl. It looks like Tcl_GetStringResult has
    been present in the entire 8.0 series.
    
    2014-05-26  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
    
    	* BloxTK.c: Use Tcl_GetStringResult to access the result.
    zecke committed May 26, 2014
  2. readline: CPPFunction was removed in version 6.3-5 of readline

    CPPFunction was deprecated in readling-4.2. Stop using the old
    symbol and update the autoconf test.
    
    2014-05-26  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
    
    	* input.c: Use rl_quote_func_t, rl_dequote_func_t and
    	rl_completion_func_t instead of the deprecated CPPFunction
    zecke committed May 26, 2014
Commits on May 17, 2014
  1. netlink: Fix build on older Linux builds due missing stamp-classes

    The build fails if the netlink module is not available. Add a
    dummy file like it was done for zlib.
    zecke committed May 7, 2014
Commits on May 5, 2014
  1. visualgst: Avoid live-lock on single-step debugging

    Debugging "3 negated" and pressing "F7" could result in a
    live-lock. While the dispatch routine of the mainloop was
    ran the call-in process could wait on the "finalSemaphore"
    and the "idle" process would be selected to execute as the
    only process that remained runnable. This live-lock would
    never be exited.
    
    The underlying issue is that VisualGST is running in the
    same image and can be impacted by the execution of the
    debugged process. The only thing we can do right now is
    to skip dangerous routines.
    
    Currently the dangerous routines are related to the handling
    of finalizers as the Glib/Gtk+ bindings create a lot of to
    be finalized objects.
    
    2014-05-05  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* Debugger/GtkDebugger.st: Introduce >>#finishDangerousContexts
    	and call it from >>#debugWith:.
    zecke committed May 5, 2014
  2. gst-sunit: Allow to execute a subset of tests provided by a package

    Using "gst-sunit -p PACKAGE" will execute all tests of the package.
    Make it possible to pass a different test script on the command line
    and in this case none of the default tests will be executed. This
    can be used when just trying to understand a single regression.
    
    2014-05-01  Holger Hans Peter Freyther  <holger@freyther.de>
    
    	* scripts/Test.st: Introduce pkgScript variable and
    	use it.
    zecke committed May 1, 2014
Commits on Apr 16, 2014
  1. cygwin: Remove wrong comment and update error check

    Remove unnecessary length check. Cygwin path conversion api
    which now gives error code.
    
    2014-04-16  In-Ho Yi  <chajath@gmail.com>
    
    	* sysdep/cygwin/findexec.c: Update comment and change
    	the error handling.
    chajath committed with zecke Apr 12, 2014
Commits on Apr 10, 2014
  1. stinst: Fix support for keyword attributes

    2014-04-02 Gwenael Casaccio <gwenael.casaccio@gmail.com>
    
    	* STCompiler.st: Support keyword attributes.
    	* STCompilerTests.st: Test for method attributes.
    MrGwen committed with zecke Apr 2, 2014
  2. cygwin: Update cygwin path conversion api

    2014-04-09  In-Ho Yi  <chajath@gmail.com>
    
    	* sysdep/cygwin/findexec.c: Use cygwin_conv_path instead
    	of cygwin_conv_to_posix_path for path conversion.
    chajath committed with zecke Apr 9, 2014
Commits on Apr 4, 2014
  1. kernel: Make Object>>FinalizableObjects thread safe

    2014-03-31  Gwenael Casaccio  <gwenael.casaccio@gmail.com>
    
    	* kernel/Object.st: Make Object>>FinalizableObjects thread safe.
    MrGwen committed with zecke Mar 31, 2014
  2. kernel: Make Process>> queueInterrupt: atomic.

    2014-03-30  Gwenael Casaccio  <gwenael.casaccio@gmail.com>
    
    	* kernel/Process.st: Make Process>>queueInterrupt: atomic.
    MrGwen committed with zecke Mar 30, 2014
Commits on Mar 31, 2014
  1. netlink: Introduce a Linux/Netlink extension for GNU Smalltalk

    The module only supports one query right now but it could and
    should grow over time. The Transport of the OsmoSIP binds to the
    unknown address but when addressing a UAS/Proxy it needs to fill
    in a real IPv4 Address in the Contact header. This module can be
    used for that.
    
      (Sockets.SocketAddress byName: 'remote') determineSourceAddress
    
    2014-03-25  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
    
    	* Extensions.st: Add file.
    	* Netlink.st: Add file.
    	* netlink.c: Add file.
    	* package.xml: Add file.
    zecke committed Mar 25, 2014
  2. libgst: Remove left-over of Process>>#startExecution:

    Paolo pointed out that there are more left overs and this appears
    to be one of them.
    
    2014-03-25  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
    
    	* sym.c: Remove _gst_start_execution_symbol.
    	* sym.h: Remove _gst_start_execution_symbol.
    zecke committed Mar 25, 2014
Commits on Mar 24, 2014
  1. kernel: Use correct namespace in Process>>evaluate:ifNotTerminated:

    2014-03-24  Gwenael Casaccio  <gwenael.casaccio@gmail.com>
    
    	* kernel/Process.st: Use the correct namespace in
    	Process>>evaluate:ifNotTerminated:.
    MrGwen committed with zecke Mar 24, 2014