[INTERPRETER]
* BUG: JIT: Fix error handling when calling methods from JIT code.
[GB.JIT]
* NEW: Fix support of CATCH and FINALLY.
* NEW: Support for ON GOTO and ON GOSUB.
[INTERPRETER]
* NEW: The NEW implementation routine takes its opcode as argument now, like other subroutines with a variable number of arguments.
[GB.JIT]
* OPT: Call subroutines using their static address. No significative performance gain was detected.
* NEW: Support for CATCH and FINALLY.
[BENCHMARKS]
* NEW: Little meaningless changes.
[INTERPRETER]
* NEW: JIT: Support for FOR EACH loops.
* BUG: JIT: Handle function values that are put on stack before calling them.
[COMPILER]
* NEW: JIT: Optimization of mathematic functions.
* NEW: JIT: Support for FOR EACH loops.
* NEW: JIT: Remove successive POP_x() / PUSH_x().
* NEW: JIT: Optimization of DIV and MOD.
* NEW: JIT: Support of internal control local variables used by SELECT and FOR EACH.
* NEW: JIT: Support for SWAP.
[GB.JIT]
* NEW: Optimization of mathematic functions.
* NEW: Variants management.
* NEW: All conversions are handled now.
* NEW: FOR EACH loops are implemented.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.
[INTERPRETER]
* NEW: Remove old JIT stuff.
[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
* NEW: Work on JIT continues...
* NEW: Better panic errors.
[INTERPRETER]
* NEW: Remove the old JIT stuff.
* NEW: Calls gb.jit at runtime if needed. If a fast function has no jit implementation, the bytecode version is used.
* NEW: Start defining the JIT interface needed by the JIT functions.
* NEW: The common static character buffer is now twice the size of the maximum symbol length, to avoid possible overflows.
[GB.JIT]
* NEW: Compilation starts to work.
* NEW: Debugging messages.
* BUG: Forbid continuing and stay in debugger when an unhandled error is raised. This prevent crashes when an error occurs during variable initialization.
git-svn-id: svn://localhost/gambas/trunk@8031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work on internal expression datatype analyze has continued.
* OPT: Compiling syntax trees is faster now.
[INTERPRETER]
* OPT: Analyzing objects a method or a property applies to is faster now.
* NEW: Remove an unused method in table symbol implementation.
git-svn-id: svn://localhost/gambas/trunk@7647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: _ready() is new special method that is called when an object construction is completly finished.
[COMPILER]
* NEW: Remove the call to _load() method in form constructors.
[GB.WEB.FORM]
* BUG: WebExpander: Remove a debugging message.
* NEW: WebForm.Debug is a new static property that, if set, dumps all exchanges between the server and the client in the browser console.
* NEW: Use the new _ready special method.
* NEW: WebLabel: Add the Border property.
* NEW: WebLabel: Alignment is a new property that defines the label horizontal alignment.
* NEW: A few changes in default style sheet.
git-svn-id: svn://localhost/gambas/trunk@7541 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize access to objects whose class is "simple", i.e. without
parent, children, special check method, and not virtual.
* OPT: Detect when automatic conversion is useless in arithmetic and
comparison operators.
* OPT: Optimize a bit inequality comparison operators.
git-svn-id: svn://localhost/gambas/trunk@7476 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Array accessors have been optimized. The 'sort' benchmark is now 25%
faster.
git-svn-id: svn://localhost/gambas/trunk@6605 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a string leak in program exit routine.
* BUG: The Param class now can be used while debugging.
git-svn-id: svn://localhost/gambas/trunk@6295 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Write in the bytecode file if a function uses the IsMissing() native
routine.
[INTERPRETER]
* OPT: Don't use a stack slot for missing arguments if the IsMissing()
function is not used.
git-svn-id: svn://localhost/gambas/trunk@6274 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use a control variable to store the missing optional argument map,
so that the JIT compiler is not trapped.
git-svn-id: svn://localhost/gambas/trunk@6264 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: IsMissing() is a new function that returns if an optional argument
is missing. It always returns FALSE on a non-optional argument.
[INTERPRETER]
* NEW: Support for IsMissing().
git-svn-id: svn://localhost/gambas/trunk@6258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly drop arguments when using the new '...' symbol syntax.
[COMPILER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.
git-svn-id: svn://localhost/gambas/trunk@6252 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for the new '...' symbol usage in function calls.
[COMPILER]
* NEW: '...' can be used for passing all the variables arguments of the
current function to another function. The '...' symbol must be the last
argument of the function call.
git-svn-id: svn://localhost/gambas/trunk@6251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The debugger now can be told to break the program on any error.
* NEW: Statistic tab in the project property dialog.
[INTERPRETER]
* BUG: Don't crash if an unknown option is passed with the '-g' option.
* NEW: The debugger now can be told to break the program on any error.
* NEW: System.BreakOnError is a new property that allows to set the
internal "break on error" option at runtime. I don't know if it is
actually useful, so I may remove it.
[GB.DEBUG]
* NEW: The debugger now can be told to break the program on any error.
git-svn-id: svn://localhost/gambas/trunk@6011 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update Gambas fonts.
* NEW: Project converter: try to not crash if the Gambas 2 project has been
partially converted.
[GB.QT4]
* BUG: Mouse.Translate() now has an absolute effect, as in gb.gtk.
git-svn-id: svn://localhost/gambas/trunk@6009 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle functions with a variable number of arguments when
an array conversion occurs during argument parsing.
* BUG: The debugger now correctly displays and modifies arguments of
functions having a variable number of arguments.
[GB.DEBUG]
* BUG: The debugger now correctly displays and modifies arguments of
functions having a variable number of arguments.
git-svn-id: svn://localhost/gambas/trunk@5686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: If the IDE throws an uncatched error, try to save all modified files
before aborting.
[INTERPRETER]
* NEW: If a static public method named Application_Error() is defined in
the startup class, then this method will be called when an unhandled
error is thrown, just before the program is aborted.
git-svn-id: svn://localhost/gambas/trunk@5678 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some fixes of bugs detected by Coverity Scan.
* NEW: Raise a 'Filename too long' error now when a too long file path is
detected inside a file management function.
* NEW: System.TimeZone is a new property that returns the current timezone
as an offset in seconds that must be added to a local time to get UTC.
[COMPILER]
* BUG: Some fixes of bugs detected by Coverity Scan.
[GB.IMAGE]
* BUG: Some fixes of bugs detected by Coverity Scan.
git-svn-id: svn://localhost/gambas/trunk@5490 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Check process stack pointer with a bigger margin so that we get
'Stack overflow' errors instead of segfaults.
[GB.GTK]
* BUG: Fix menu bar layout when the window is shown for the first time.
[GB.GUI.BASE]
* BUG: Don't set the background color of ScrollArea scrollbars.
[GB.QT4]
* NEW: Remove any useless reference to Q3ScrollView.
* OPT: Paint.ClipRect is now optimized when the clipping region is a single
rectangle.
git-svn-id: svn://localhost/gambas/trunk@5481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The name of GridView controls is now always visible in the form
editor.
[INTERPRETER]
* NEW: Support for new QUIT syntax.
* NEW: Do not display overriding prefix in class names.
[COMPILER]
* NEW: QUIT now can takes an optional argument which is the program return
value.
[GB.ARGS]
* BUG: The "--version" option is not "----version" anymore
* NEW: If an error occurs, returns 1 as exit value and not 0.
[GB.FORM]
* BUG: GridView is correctly updated now when the Border property is set.
git-svn-id: svn://localhost/gambas/trunk@5246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Draw the projet property dialog library list with a GridView.
[INTERPRETER]
* BUG: Fix class overriding routine.
[GB.ARGS]
* NEW: 'gb.args' is a new component that analyzes the command-line options,
and automatically handles the "--help" option.
[GB.HTTPD]
* BUG: Hide the component.
git-svn-id: svn://localhost/gambas/trunk@5241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Each component installation now generates all information files
systematically, to fix possible dependencies between components written
in Gambas.
[DEVELOPMENT ENVIRONMENT]
* NEW: Running a project using the 'gb.web' component now automatically
starts the embedded HTTP server.
[INTERPRETER]
* NEW: Class overriding is retrospective now.
* NEw: System._Breakpoint() is a new hidden method that raises a
breakpoint. Very useful for debugging.
[GB.GTK]
* BUG: The Action.Register() method must not crash when called during class
clean-up.
[GB.HTTPD]
* NEW: Define a custom exported HTTP server name.
[GB.JIT]
* BEW: Support for new class overriding (the CLASS structure has lost one
field).
[GB.QT4]
* BUG: The Action.Register() method must not crash when called during class
clean-up.
git-svn-id: svn://localhost/gambas/trunk@5240 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same
name as the current project. This is a temporary incorrect fix!
[INTERPRETER]
* BUG: Fix Classes enumeration.
[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of
the window.
[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family
exists.
[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family
exists.
git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Task.Value now raises an error if the background task has failed for
any reason. Otherwise it normally returns the background task return
value.
* BUG: Background tasks do not interfere with the debugger anymore.
[GB.TASK]
* NEW: The component has been moved inside the interpreter.
git-svn-id: svn://localhost/gambas/trunk@5081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Gosub stack pointer is now correctly reset when a error has been
intercepted by the Catch instruction.
git-svn-id: svn://localhost/gambas/trunk@5020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New gb.complex component
[INTERPRETER]
* BUG: Automatic array conversion now works with not yet loaded array
classes.
[GB.COMPLEX]
* NEW: New component that implements a rudimentary management of complex
numbers. This component is automatically loaded if a complex number
constant is encountered and no loaded component can already handle
complex numbers.
git-svn-id: svn://localhost/gambas/trunk@4924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for imaginary number syntax. For example, using "3i" will
automatically load the gb.gsl component, create the corresponding complex
number and return it.
[COMPILER]
* NEW: Support for imaginary number syntax.
[GB.EVAL]
* NEW: Support for imaginary number syntax.
[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector
and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed.
It had too many problems.
git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly release or keep the return value of a function when
destructors are called during epilogue.
git-svn-id: svn://localhost/gambas/trunk@4863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: If there is an error, wake up the debugger on the current stack
position. Return to the last encountered line break after, not before.
git-svn-id: svn://localhost/gambas/trunk@4841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: If the project is read-only, the profile file is stored in the
process temporary directory in /tmp instead of the project directory.
* NEW: The name of profile files now follows this scheme: '.N.prof', where
'N' is an index incremented each time the project is run.
* BUG: Toolbars and popup-menus are correctly updated at first load form
text, source and form editors.
* BUG: Do not show or hide toolbars buttons outside of the toolbar
'Configure' event.
[INTERPRETER]
* NEW: The '-p' option now takes the profile file path as argument.
[GB.DEBUG]
* NEW: The profile file path can be specified on the command line.
[GB.FORM.MDI]
* NEW: Configured toolbars are drawn with a red frame.
[GB.GTK]
* BUG: Remove warnings displayed by the Control Raise() and Lower()
methods.
* BUG: Draw.Style methods now are correctly clipped.
git-svn-id: svn://localhost/gambas/trunk@4820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.
[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling.
Function calls keep being profiled. That way the IDE can read the profiled
output without crashing!
git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now System.Profile has no effect if the project has not been started
in profiling mode from the IDE.
git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.
[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.
[GB.JIT]
* NEW: JIT Compiler.
git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.
[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event
handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
callback.
[GB.DEBUG]
* NEW: Support for profiling.
[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are
changed.
* BUG: Fix a crash when changing the IconPanel Count property.
[GB.GTK]
* BUG: Fix the Font.Copy() method.
git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently,
calling functions recursively are now very fast.
[COMPILER]
* NEW: New FAST keyword.
git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN
instruction alone. Consequently, you cannot exit from a 'SUB' with it if
there is a pending GOSUB. The GOSUB stack is only limited by the
available memory.
[COMPILER]
* NEW: New GOSUB instruction.
git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly release the stack when dealing with a CATCH / FINALLY
instruction.
git-svn-id: svn://localhost/gambas/trunk@4512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.
[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that
allow to define a callback that will be called if an exception is raised
during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
it is possible to use more stack than possible and to crash the
interpreter.
[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
"Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".
[GB.DB]
* BUG: Table.Type property now correctly handle null table types.
[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only
one problem to fix that depends on a gb.gtk bug.
[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
instead.
[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor
around the current cell when set.
[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the
interpreter should not crash anymore.
[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.
git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Constructors that receive too many arguments now correctly raise an
error.
[GB.DRAW]
* BUG: Accessing a temporarily closed drawing device now raises an error
instead of crashing.
git-svn-id: svn://localhost/gambas/trunk@4496 867c0c6c-44f3-4631-809d-bfa615b0a4ec