[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.
[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
[INTERPRETER]
* NEW: Implement return value of JIT methods.
* NEW: Support for calling '.' operator from a JIT method.
[COMPILER]
* BUG: JIT: Fix detection of native arrays.
* BUG: JIT: Delete translated file if a class has no fast method anymore.
* BUG: JIT: Prefix JIT method with "jit_" to avoid possible conflicts.
* BUG: JIT: Fix variable initialization.
* NEW: JIT: Complete datatype support.
* NEW: JIT: Support for SWAP.
* NEW: JIT: Support for array operators.
* BUG: JIT: Fix arithmetic operators.
* NEW: JIT: Implement ME and "." operator.
* NEW: JIT: Complete GOSUB / RETURN support.
* NEW: JIT: Support for DIV and MOD operators. Not optimized yet.
[ARCHIVER]
* NEW: Put JIT translation in the archive.
[GB.JIT]
* NEW: Complete datatype support. Variant is not supported yet.
* NEW: Complete GOSUB / RETURN support.
* NEW: Support for ME and '.' operator.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.
[COMPILER]
* NEW: New '-j' option that disables just in time compilation.
* NEW: JIT: Support for private functions calls.
* NEW: JIT: Support for native arrays accessors.
* BUG: JIT: Fix loop support.
* NEW: JIT: Support for GOSUB.
[GB.JIT]
* NEW: GB_JIT_DEBUG is an environment variable that defines if JIT compilation debugging messages are printed.
* NEW: GB_JIT_CFLAGS is an environment variable that defines the JIT compilation flags. The default is "-O3".
* NEW: Support for native arrays accessors.
[COMPILER]
* BUG: JIT: Fix local variable referencing.
* NEW: JIT: Implement NEW operator and array accessors.
[INTERPRETER]
* NEW: Support for JIT NEW operator and array accessors.
[GB.JIT]
* NEW: Support for object datatypes.
* NEW: Implement NEW operator and array accessors.
[COMPILER]
* NEW: JIT: Support for FOR...TO...NEXT loops.
* NEW: JIT: Support for Len(), Left$(), Mid$(), and Right$().
* NEW: JIT: Subroutines return values are now hadled correctly.
[GB.JIT]
* NEW: Compile JIT code with -O3.
[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.
[COMPILER]
* NEW: Work continues on new JIT system.
[INTERPRETER]
* NEW: Make comparison operator true functions so that they can be called by the JIT code.
[INTERPRETER]
* NEW: New API for reference a Gambas string.
[GB.DB]
* NEW: Result.GetAll() is a new method that returns an array of the values of a specific field from each record. It is about twice faster than the equivalent code written in Gambas.
[COMPILER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
[INTERPRETER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
* OPT: RDir() now does less stat() system calls, by assuming that the number of hard links of a directory is its number of sub-directories plus two.
Scanning my home directory calls stat() about 640,000 times instead of 715,000 before. About a 10% gain.
* OPT: Editor: Some optimizations in identifier completion.
* NEW: Image editor: Add an opacity effect.
* NEW: Update backround images.
[WEBSITE MAKER]
* NEW: Update to 3.10 version.
[WIKI]
* NEW: The '{@classes}' command can take arguments to add custom classes to the list of classes.
git-svn-id: svn://localhost/gambas/trunk@8175 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add an API that allows to create an array class before instanciating it.
[GB.DBUS]
* BUG: When marshalling from DBus to Gambas, create the array classes before instanciating them.
git-svn-id: svn://localhost/gambas/trunk@8173 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch version to 3.10.90.
[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a autoconf check for monotonic clock.
[INTERPRETER]
* BUG: Use a monotonic clock (if possible) to implement the WAIT instruction.
git-svn-id: svn://localhost/gambas/trunk@8138 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
[INTERPRETER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
* BUG: The signal handler now loops until the signal pipe is void.
git-svn-id: svn://localhost/gambas/trunk@8129 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Make component compile with gcc 6.
[INTERPRETER]
* BUG: Include <cmath> instead of <math.h> for components written in C++, so that they compile with gcc 6.
[GB.GTK]
* BUG: Make component compile with gcc 6.
[GB.GTK3]
* BUG: Make component compile with gcc 6.
[GB.QT4]
* BUG: Make component compile with gcc 6.
[GB.QT5]
* BUG: Make component compile with gcc 6.
git-svn-id: svn://localhost/gambas/trunk@8088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Automatically restart mkfifo() and open() system calls when executing the PIPE instruction.
git-svn-id: svn://localhost/gambas/trunk@8053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update french translation.
* NEW: Support for the new gb.term component.
[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.
[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.
git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Timer delay is now stored in 31 bits, and so can now be up to 2^31 - 1 milliseconds, i.e. about 24 days, 20 hours and 31 seconds.
git-svn-id: svn://localhost/gambas/trunk@7925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Define "__STDC_FORMAT_MACROS" macro in 'gb_common.h', so that C++ source files using '<inttypes.h>' compile even with old gcc versions.
git-svn-id: svn://localhost/gambas/trunk@7891 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: MenuButton: Take foreground color into account correctly.
* BUG: MenuButton: Clip text so that arrow is always clearly visible.
* BUG: MenuButton: Take the Design property into account correctly.
git-svn-id: svn://localhost/gambas/trunk@7864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When searching a relative path inside an archive, ignore trailing slashes: "foo/bar/" and "/foo/bar//" are now the same as "foo/bar".
git-svn-id: svn://localhost/gambas/trunk@7837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish the redesign of the debug panel.
[INTERPRETER]
* BUG: Fix a stack mismatch leading to a crash in Eval() when an "Unknown symbol" error occurs.
[GB.FORM]
* BUG: SidePanel: The Hide event is now raised after the SidePanel has been actually hidden.
git-svn-id: svn://localhost/gambas/trunk@7754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.
git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a symbol table optimization that is disabled because it's not worth it.
* OPT: Force inlining of functions in symbol tables routines.
* OPT: A little optimization on routine string argument extraction.
git-svn-id: svn://localhost/gambas/trunk@7650 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
* OPT: Compile is now compiled with -O3 optimizations.
* OPT: Reserved words built-in symbol table is faster now.
* NEW: Initial support for expression datatype analyze. Some new errors are raised at compilation time, like using a string with the AND operator for example. The datatype analyzer is rougher than the IDE one because it is local to the compile class.
* OPT: Symbol table search is a bit faster.
git-svn-id: svn://localhost/gambas/trunk@7632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Detect the fstatat() system function.
[INTERPRETER]
* OPT: Dir() and RDir() are now 10-30% faster by using fstatat() and assuming that directories with just two hard links have no child directories (each sub-directory having one hard-link to its parent directory through the ".." entry).
git-svn-id: svn://localhost/gambas/trunk@7610 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for custom expression evaluators.
[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
provided that you allow it in the IsIdentifier() method.
git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Subroutine table is faster to access now.
* OPT: Don't browse temporary directory at end if no temporary file has
been used.
git-svn-id: svn://localhost/gambas/trunk@7469 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Collection access is faster now.
* OPT: LINE INPUT and INPUT are faster now.
* OPT: Conversions to Boolean, from and to Variant are faster now.
git-svn-id: svn://localhost/gambas/trunk@7440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Debugger: Breakpoints now work correctly when some global variables
are declared after a function.
git-svn-id: svn://localhost/gambas/trunk@7314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix windows using icons not existing anymore.
* NEW: Add dark theme versions of some icons.
[INTERPRETER]
* NEW: "../xxx" now refers to a file located in the parent archive, not
necessarily the main project archive. "../../xxx" refers to the
grand-parent archive, and so on. A component written in Gambas that
receives a relative path is supposed to prefix it with "../" if he wants
to access it. Please report any incompatibility!
* NEW: File.IsRelative() is a new method that returns if a file is
relative, i.e. if it does not starts with '/' or '~'.
[GB.FORM]
* NEW: The Stock class does not use the Picture cache anymore. It is
useless as normally the Stock class is accessed from the Picture[]
method.
[GB.FORM.MDI]
* BUG: When browsing actions, do not try to load an icon for actions that
do not have one.
[GB.GTK]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
They are now implemented in the 'gb.gui.base' component.
[GB.GTK3]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
They are now implemented in the 'gb.gui.base' component.
[GB.GUI.BASE]
* NEW: The Picture[] array accessor and the Picture.Flush() method are now
implemented in that component.
* NEW: Remove support for theme specific icons.
* NEW: Add support for right-to-left specific icons. For example, if an
icon is named 'abc-ltr.png', then it will be considered as a
'left-to-right' icon, and the 'abc-rtl.png' icon will be used if the
current langauge is right-to-left written.
* NEW: Add support for dark theme specific icons. An icon named
'abc-dark.png' will be the dark theme version of the 'abc.png' icon.
[GB.QT4]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
They are now implemented in the 'gb.gui.base' component.
* NEW: Message boxes do not support theme specific icons automatically
anymore.
[GB.QT5]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
They are now implemented in the 'gb.gui.base' component.
* NEW: Message boxes do not support theme specific icons automatically
anymore.
git-svn-id: svn://localhost/gambas/trunk@7304 867c0c6c-44f3-4631-809d-bfa615b0a4ec