kernel: Add primitives for link, fsync and sync and expose them

2013-04-28  Holger Hans Peter Freyther  <holger@freyther.de>

	* kernel/File.st: Add File>>#primLink:as:, File>>#primFsync: and
	File>>#primSync to use the new primitives.

2013-04-28  Holger Hans Peter Freyther  <holger@freyther.de>

	* libgst/cint.c: Bind link, fsync, sync for additional C level access.
kernel: Introduce the DirPackage packages to help with development

Add a way to load a Package from the package.xml and not go through
the creation of a star file. This can make developing with packages
more effective.

2013-03-24  Holger Hans Peter Freyther  <holger@freyther.de>

	* libgst/files.c: Add DirPackage.st to the bootstrap.
	* kernel/DirPackage.st: Add new file with the DirPackage and DirPackagesContainer.
	* kernel/PkgLoader.st: Refactor and create ExternalPackage baseclass.
stinst: Avoid running into recursion in ProxyNamespace

(STInST.STClassLoaderObjects.ProxyNamespace
	on: Smalltalk for: STInST.STClassLoader new) displayString

triggered a DNU for classNameString and after fixing that it ended
with an infinite recursion as the value is self. Avoid the recursion.

2013-03-31  Holger Hans Peter Freyther  <holger@freyther.de>

	* tests/stcompiler.ok: Update the test result.
	* tests/stcompiler.st: Add a testcase for ProxyNamespace>>#printOn:.

2013-03-31  Holger Hans Peter Freyther  <holger@freyther.de>

	* STLoaderObjs.st: Change ProxyNamespace>>#printOn to avoid
	recursion into self.
dbd-sqlite: Do not fetch all rows of a select at once

The current code is loading all rows of a select into the memory. For
my application this consumes too much memory. SQLite3 does not support
to query the size of the result set. This means that >>#rowSize can not
determine the size of the result set. When using the >>#next/>>#atEnd
selectors the >>#rowSize will not be available.

When using >>#rows/>>#rowSize/>>#size before any other query will result
in all results to be fetched.
tooling: Introduce a new package for tooling helpers

This will hold non UI tools to help with tooling. This can be linters,
the converter, package related tools. Beging with moving parts of the
gst-convert code into this package.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* configure.ac: Introduce the Tooling package.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* Makefile.frag: Added.
	* Parser/SourceClass.st: Added from scripts/Convert.st.
	* Parser/SourceComments.st: Added from scripts/Convert.st.
	* Parser/SourceEntity.st: Added from scripts/Convert.st.
	* Parser/SourceEval.st: Added from scripts/Convert.st.
	* Parser/Loader.st: Added from scripts/Convert.st.
	* README: Added.
	* TODO: Added.
	* package.xml: Added.
tooling: Introduce a helper for a Monticello export

The category of classes and extensions should match the package
name. Create a small class that is checking this on a package and
print the errors.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* Lint/Monticello.st: Added Monticello class for linting.
	* Parser/SourceClass.st: Reimplement >>#isSourceClass, >>#methodsToEmit,
		>>#classMethodsToEmit, #>>isComplete.
	* Parser/SourceEntity.st: Added >>#isSourceClass.
	* Parser/Loader.st: Add >>#stuffToEmit selector.
	* TODO: Add work item.
	* package.xml: Add the Lint/Monticello.st.
osprocess: Introduce a simple sub-process package

The >>#popen: code does not return the pid which makes shutting down
the forked process quite difficult. Introduce a sub-process package
that can be used to fork, kill and read from the stdout/stdin.

This package should be more deeply integrated with the sysdep layer,
e.g. it assumes that SIGCHLD, SIGFPE is handled by sysdep (e.g. a
popen was previously used). It would be nice if one could have a Sempahore
for the SIGCHLD like one has with the fileOp: operations.

2012-12-28  Holger Freyther  <holger@freyther.de>

	* configure.ac: Add a OSProcess package.
embedded: Use more registers on ARM as there are plenty and reduce the alignment

2013-04-25  Holger Hans Peter Freyther  <holger@freyther.de>

	* libgst/md-config.h: Add cases for the ARM architecture.
embedded: Allow to disable the prefetching.

Disabling the prefetching is a win on arm9 (arm926ejs, e.g. TI
Davinci DM644x). This was benchmarked using the simple Bench.st
benchmark.

2013-04-28  Holger Hans Peter Freyther  <holger@freyther.de>

	* libgst/gstpriv.h: Allow to disable the DO_PREFETCH.
embedded: Allow to disable the line number bytecode

This is more noticable on smaller devices. Allow to disable the
line number bytecode. This changes the runtime of Bench.st for
4 iterations from 26s to 19s.
embedded: Allow to disable the profiling support in the interpreter

On ARM9 (e.g. TI Davinci DM644x) disabling the bytecode counter makes
a significant difference on the Bench.st benchmark.

2013-04-28  Holger Hans Peter Freyther  <holger@freyther.de>

	* libgst/vm.def: Use INCR_LOCAL_COUNTER instead LOCAL_COUNTER++.
	* libgst/interp-bc.inl: Add INCR_LOCAL_COUNTER and allow to disable
	it when ENABLE_PROFILING is not defined.
embedded: Decrease OOP table size and mmap size for embedded usage
java: Remove the java package from GST as part of spring cleaning
visualgst-base: Introduce a VisualGST-Base package with helper classes

VisualGST has accumulated some GTK support that makes creating
widgets with GTK more easy. Begin to move these widgets from the
VisualGST package to the new VisualGST-Base.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* configure.ac: Introduce the VisualGST-Base package

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* GtkAbstractConcreteWidget.st: Renamed from packages/visualgst/GtkAbstractConcreteWidget.st.
	* GtkConcreteWidget.st: Renamed from packages/visualgst/GtkConcreteWidget.st.
	* GtkEntryDialog.st: Renamed from packages/visualgst/GtkEntryDialog.st.
	* GtkMainWindow.st: Renamed from packages/visualgst/GtkMainWindow.st.
	* Tests/GtkConcreteWidgetTest.st: Renamed from packages/visualgst/Tests/GtkConcreteWidgetTest.st.
	* package.xml: Added.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* Commands/CategoryMenus/AddCategoryCommand.st: Use VisualGST-Base namespace.
	* Commands/CategoryMenus/RenameCategoryCommand.st: Use VisualGST-Base namespace.
	* Commands/ClassMenus/AddClassCommand.st: Use VisualGST-Base namespace.
	* Commands/ClassMenus/RenameClassCommand.st: Use VisualGST-Base namespace.
	* Commands/NamespaceMenus/AddNamespaceCommand.st: Use VisualGST-Base namespace.
	* Commands/NamespaceMenus/RenameNamespaceCommand.st: Use VisualGST-Base namespace.
	* Debugger/GtkContextWidget.st: Use VisualGST-Base namespace.
	* Debugger/GtkStackInspectorView.st: Use VisualGST-Base namespace.
	* GtkEntryWidget.st: Use VisualGST-Base namespace.
	* GtkHistoryWidget.st: Use VisualGST-Base namespace.
	* GtkNotebookWidget.st: Use VisualGST-Base namespace.
	* GtkPackageBuilderWidget.st: Use VisualGST-Base namespace.
	* GtkScrollTreeWidget.st: Use VisualGST-Base namespace.
	* GtkSidebarWidget.st: Use VisualGST-Base namespace.
	* GtkVariableTrackerWidget.st: Use VisualGST-Base namespace.
	* GtkVisualGSTTool.st: Use VisualGST-Base namespace.
	* Image/GtkImageWidget.st: Use VisualGST-Base namespace.
	* Implementors/GtkImageResultsWidget.st: Use VisualGST-Base namespace.
	* Inspector/GtkInspectorBrowserWidget.st: Use VisualGST-Base namespace.
	* Inspector/GtkInspectorWidget.st: Use VisualGST-Base namespace.
	* SUnit/GtkSUnitResultWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkCategorizedClassWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkCategorizedNamespaceWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkCategoryWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkClassBrowserWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkClassHierarchyWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkMethodWidget.st: Use VisualGST-Base namespace.
	* Tetris/Tetris.st: Use VisualGST-Base namespace.
	* Text/GtkTextPluginWidget.st: Use VisualGST-Base namespace.
	* Text/GtkTextWidget.st: Use VisualGST-Base namespace.
	* package.xml: Use VisualGST-Base namespace.
	* GtkAbstractConcreteWidget.st: Renamed to packages/gtktools/GtkAbstractConcreteWidget.st.
	* GtkConcreteWidget.st: Renamed to packages/gtktools/GtkConcreteWidget.st.
	* GtkEntryDialog.st: Renamed to packages/gtktools/GtkEntryDialog.st.
	* GtkMainWindow.st: Renamed to packages/gtktools/GtkMainWindow.st.
	* Tests/GtkConcreteWidgetTest.st: Renamed to packages/gtktools/Tests/GtkConcreteWidgetTest.st.
visualgst-base: Move GtkListModel from VisualGST to VisualGST-Base

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* GtkListModel.st: Renamed from packages/visualgst/GtkListModel.st.
	* package.xml: Add GtkListModel.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* Debugger/GtkContextWidget.st: Use VisualGST-Base namespace.
	* GtkHistoryWidget.st: Use VisualGST-Base namespace.
	* GtkSimpleListWidget.st: Use VisualGST-Base namespace.
	* GtkVariableTrackerWidget.st: Use VisualGST-Base namespace.
	* Image/GtkImageWidget.st: Use VisualGST-Base namespace.
	* Implementors/GtkImageResultsWidget.st: Use VisualGST-Base namespace.
	* Inspector/GtkInspectorWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkCategoryWidget.st: Use VisualGST-Base namespace.
	* StBrowser/GtkMethodWidget.st: Use VisualGST-Base namespace.
	* package.xml: Remove moved files.
	* GtkListModel.st: Renamed to packages/gtktools/GtkListModel.st.
visualgst-base: Move the GtkSideBarWidget from VisualGST to VisualGST-Base

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* GtkHSidebarWidget.st: Renamed from packages/visualgst/GtkHSidebarWidget.st.
	* GtkSidebarWidget.st: Renamed from packages/visualgst/GtkSidebarWidget.st.
	* GtkVSidebarWidget.st: Renamed from packages/visualgst/GtkVSidebarWidget.st.
	* package.xml: Add the new files.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* GtkLauncher.st: Use VisualGST-Base namespace.
	* package.xml: Remove moved files.
	* GtkHSidebarWidget.st: Renamed to packages/gtktools/GtkHSidebarWidget.st.
	* GtkSidebarWidget.st: Renamed to packages/gtktools/GtkSidebarWidget.st.
	* GtkVSidebarWidget.st: Renamed to packages/gtktools/GtkVSidebarWidget.st.
visualgst-base: Move model classes from VisualGST to VisualGST-Base

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* Extensions.st: Added.
	* GtkScrollTreeWidget.st: Renamed from packages/visualgst/GtkScrollTreeWidget.st.
	* GtkSimpleListWidget.st: Renamed from packages/visualgst/GtkSimpleListWidget.st.
	* Model/GtkColumnOOPType.st: Renamed from packages/visualgst/Model/GtkColumnOOPType.st.
	* Model/GtkColumnPixbufType.st: Renamed from packages/visualgst/Model/GtkColumnPixbufType.st.
	* Model/GtkColumnTextType.st: Renamed from packages/visualgst/Model/GtkColumnTextType.st.
	* Model/GtkColumnType.st: Renamed from packages/visualgst/Model/GtkColumnType.st.
	* Tests/GtkScrollTreeWidgetTest.st: Renamed from packages/visualgst/Tests/GtkScrollTreeWidgetTest.st.
	* Tests/GtkSimpleListWidgetTest.st: Renamed from packages/visualgst/Tests/GtkSimpleListWidgetTest.st.
	* package.xml: Add new files.

2013-03-30  Holger Hans Peter Freyther  <holger@freyther.de>

	* Extensions.st: Move the model extensiosn to GTKtools.
	* package.xml: Remove moved files.
	* GtkScrollTreeWidget.st: Renamed to packages/gtktools/GtkScrollTreeWidget.st.
	* GtkSimpleListWidget.st: Renamed to packages/gtktools/GtkSimpleListWidget.st.
	* Model/GtkColumnOOPType.st: Renamed to packages/gtktools/Model/GtkColumnOOPType.st.
	* Model/GtkColumnPixbufType.st: Renamed to packages/gtktools/Model/GtkColumnPixbufType.st.
	* Model/GtkColumnTextType.st: Renamed to packages/gtktools/Model/GtkColumnTextType.st.
	* Model/GtkColumnType.st: Renamed to packages/gtktools/Model/GtkColumnType.st.
	* Tests/GtkScrollTreeWidgetTest.st: Renamed to packages/gtktools/Tests/GtkScrollTreeWidgetTest.st.
	* Tests/GtkSimpleListWidgetTest.st: Renamed to packages/gtktools/Tests/GtkSimpleListWidgetTest.st.
visualgst-base: Move the Clock/Tetris to the VisualGST-Base

One can now use gst-run --start VisualGST-Base-Example-Tetris to start
the tetris game.
sunit: Add >>#assert:equals: from Pharo for the Phexample

The above selector is needed for Phexample and in general very
nice to debug failures as the result and expectation is immediately
visible in the debugger.

2013-05-11  Holger Hans Peter Freyther  <holger@freyther.de>

	* packages/sunit/SUnit.st: Add #assert:equals: and
	#comparingStringBetween:and: from Pharo to the TestCase.