[COMPILER]
* NEW: Don't emit debugging information for generated functions, but emit void sections for backward compatibility.
* NEW: Don't emit source file path in the debugging information.
[COMPILER]
* OPT: Some optimizations in symbol table routines.
* NEW: Emit column position in almost all error messages. It makes the compiler 2.5% slower, even with the optimizations.
[COMPILER]
* NEW: Allow loop variables to be declared inside the loop syntax.
* NEW: Consequently, FOR EACH now can only use local variables.
[INTERPRETER]
* OPT: A little optimization of integer loops. They are about 5% faster now.
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.
[INTERPRETER]
* NEW: Support for the UNSAFE keyword.
[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
[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.
[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.
* NEW: Get rid of the new warnings.
* NEW: Support for arguments without a datatype in function signatures.
* NEW: [ALT] + any brace character is a new editor shrotcut that add or
remove braces around the current word. Same thing for [ALT] + [<] or [>].
* NEW: Property editor: Add a clear button. Replace the MenuButton by a
normal ComboBox.
[INTERPRETER]
* NEW: Support for the new '*.list' file format.
[COMPILER]
* NEW: New '*.list' file format that marks classes having static elements.
* NEW: A warning is emitted when a class having static elements is
overriden by a declaration. This is suspicious.
* NEW: A symbol in a local variable declaration, or a global variable or
property declaration can now be surrounded by braces to prevent a
possible warning.
[GB.FORM]
* NEW: Get rid of the new warnings.
* NEW: TabPanel[].Closable is a new property that defines if a specific tab
has a close button.
[GB.FORM.MDI]
* NEW: Workspace: Try to minimize flickering during resizing. Not very
successful.
git-svn-id: svn://localhost/gambas/trunk@6838 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for the new USE instruction.
[COMPILER]
* NEW: A class header now can include USE "xxxx" declarations, where "xxxx"
is a component name. It means that the specified component will be loaded
when the class is initialized, the first time it is loaded.
git-svn-id: svn://localhost/gambas/trunk@6648 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
* NEW: "Compress all" and "Uncompress all" action on project sub-
directories.
* BUG: Do not crash when checking for completion in text editor.
[INTERPRETER]
* BUG: Void string contants work correctly now.
[COMPILER]
* BUG: Functions now can have up to 65536 bytecode operations instead of
32768.
* NEW: Support for the Parent property of WebPage.
* NEW: WebPage markups attributes can use the <%...%> syntax.
[GB.EVAL.HIGHLIGHT]
* NEW: HTML highlighting has be rewritten. <%...%> markups are taken into
account inside <style> and <script> markups.
[GB.FORM]
* NEW: FileView and DirView now display hidden files lightly, and symbolic
links in italic.
* NEW: File properties dialog in FileChooser and DirChooser.
[GB.FORM.STOCK]
* NEW: Default icons for some mime types.
[GB.GTK]
* BUG: Menu click event is now triggered the same way as in gb.qt4.
* BUG: Control.HasFocus() works correctly now.
* BUG: Modal windows cannot be shrinked less then their initial size
anymore.
[GB.GUI.BASE]
* NEW: IconView, TreeView, ListView and ColumnView items now have a
RichText property.
[GB.WEB]
* NEW: WebPage.Parent property returns the parent webpage that includes the
current webpage with the <<...>> markup.
git-svn-id: svn://localhost/gambas/trunk@5623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixes of bugs detected by Coverity Scan.
* BUG: Process output is correctly flushed at process exit now.
[COMPILER]
* BUG: Fixes of bugs detected by Coverity Scan.
[ARCHIVER]
* BUG: Fixes of bugs detected by Coverity Scan.
[INFORMER]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.COMPRESS]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.DEBUG]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.EVAL]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE.EFFECT]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.VB]
* BUG: Fixes of bugs detected by Coverity Scan.
git-svn-id: svn://localhost/gambas/trunk@5493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do 'svn cleanup' in the parent directory of the project.
[COMPILER]
* BUG: Do not emit inaccurate line number information for forms and global
variables with no initialization.
[INTERPRETER]
* BUG: When creating the process temporary directory, check the permissions
of both the top directory (gambas.<userid>) and the process directory
inside.
git-svn-id: svn://localhost/gambas/trunk@5461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Emit line positions in debugging information for global
initializations.
git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Make one warning for each symbol kind that is overridden.
[GB.DB.FORM]
* BUG: Fix warnings.
[GB.DESKTOP]
* BUG: Fix some warnings.
[GB.EVAL.HIGHLIGHT]
* BUG: Correctly rewrite the following keywords with no spurious space
after: TRUE, FALSE, NULL, +INF, -INF.
[GB.FORM]
* BUG: Fix warnings.
[GB.FORM.MDI]
* BUG: Fix warnings.
[GB.WEB]
* BUG: Fix warnings.
git-svn-id: svn://localhost/gambas/trunk@5125 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.
[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for
local symbols that override global symbols. Public symbols are of course
not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
if the argument is not used.
[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting
Gambas code.
git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Last change was not a good idea. Local variables should be able to
override global variables. When the compiler will be able to emit
warnings, that could make a good warning of course...
git-svn-id: svn://localhost/gambas/trunk@5115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.
[COMPILER]
* NEW: Support for variable number of arguments in extern functions.
[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is
defined but a null string.
git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle the FAST keyword in function declaration.
[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
the first one on the line.
[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.
git-svn-id: svn://localhost/gambas/trunk@4769 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
* NEW: More work on structure support.
* BUG: Fix optimization in error management.
[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the
Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE,
which is smaller!
* NEW: Do not compute variable position and size, as it is done by the
interpreter anyway.
[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.
[GB.XML.RPC]
* BUG: The component compiles again.
git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GB.NewZeroString() API to create a Gambas string from a
null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.
[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.
git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The bytecode version has been incremented, as the object file format
has changed.
[DEVELOPMENT ENVIRONMENT]
* BUG: Handle static arrays in automatic completion.
[INTERPRETER]
* BUG: Handle public static arrays correctly.
[COMPILER]
* NEW: Handle structures, and write them inside object files.
* NEW: Class options (EXPORT, CREATE...) can only be written at the
beginning of the source file now.
* BUG: Fix some use of uninitialized values.
* BUG: Correctly write public static arrays in *.info files.
* NEW: Do not support old OPEN syntax anymore.
git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.
[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes,
except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a
pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX()
version instead.
* NEW: Remove now useless source files.
[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.
[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.
git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The IDE now uses the WebKit component to display an online help
directly into the automatic completion popup. The online help management
is quick and dirty at the moment.
* NEW: The option dialog is being redesigned. Not finished yet...
* NEW: Some cosmetic changes in the user control that displays the
information about a project. Not perfect yet.
[WIKI CGI SCRIPT]
* NEW: The wiki now sends the "Last-Modified", "Expires" and
"Cache-Control: max-age" headers with the HTML pages.
* NEW: Adding "?help" to an URL returns the page for the IDE online help.
[INTERPRETER]
* BUG: Try to stop breaking strict aliasing rules. This way the interpreter
should behave better on ARM architecture.
* BUG: Remove a possible crash when calling a constructor.
[GB.DRAW]
* NEW: The deprecated properties Draw.ForeColor and Draw.BackColor have
been removed.
[GB.NET]
* BUG: Do not watch the SerialPort file descriptor for reading if there is
no Read event handler.
[GB.QT4.WEBKIT]
* NEW: WebSettings.Cache.Path is a new property to define the directory
used for storing the disk cache contents. If this property is not
defined, no cache will be used.
* NEW: WebView.Cached is a new property to tell if the web browser will use
the disk cache. The WebSettings.Cache.Path *must* be defined before
setting that property.
* NEW: WebView.HTML is not read-only anymore.
git-svn-id: svn://localhost/gambas/trunk@2460 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not use "boolean" anymore. Use "bool" instead.
[COMPILER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.
git-svn-id: svn://localhost/gambas/trunk@2091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Store autoconf extra tests in the .project file, not in its own
hidden file anymore.
* NEW: Add KDE4 as possible icon theme.
* BUG: The packager wizard logic has been fixed.
[INTERPRETER]
* NEW: The Array class has now almost all standard array methods. They all
use Variant as array contents datatype, internally converting values to
the real array datatype.
* NEW: Quote$() now keeps characters whose code is greater as 126 unquoted.
[COMPILER]
* NEW: '\b' and '\f' are two new escaped sequences in strings.
* BUG: Move some debugging breakpoint instructions so that the debugger
breaks at the right line when there is an error during an IF or a CASE
instruction.
[GB.EVAL]
* NEW: '\b' and '\f' are two new escaped sequences in strings.
[GB.FORM]
* NEW: Some new stock icons.
[GB.QT.EXT]
* NEW: Editor.Lines[].GetInitialState() fills the Highlight properties
(State, Tag and AlternateState) with the initial state of a line.
[GB.WEB]
* NEW: JSON is a new class that can encode and decode the JSON format.
git-svn-id: svn://localhost/gambas/trunk@1925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Enhance and fix support for template array classes.
[COMPILER]
* BUG: Enhance and fix support for template array classes.
[GB.EVAL]
* NEW: Support for template array classes.
git-svn-id: svn://localhost/gambas/trunk@1531 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some clean-up in the acinclude.m4 file.
[DEVELOPMENT ENVIRONMENT]
* NEW: Small changes in the project property dialog layout.
* BUG: When opening a project, the packager information is correctly reset.
[WIKI CGI SCRIPT]
* NEW: Simplified chinese translation updated.
* NEW: Support for albanian language.
* NEW: New web site look.
[INTERPRETER]
* BUG: Really really fix the bit manipulation functions.
* NEW: Support for types object arrays. For example: Label[] for an array
of Labels.
[COMPILER]
* NEW: Support for types object arrays.
* BUG: Do not store the source file full path into object files, so that
rmplint does not cry.
[GB.GTK]
* BUG: Fix the tray icon management. Now GTK+ icons work on Gnome and KDE,
and are fully transparent!
* BUG: Tray icons are correctly refreshed when the icon is changed.
[GB.QT]
* BUG: Fix the menu shortcut management.
* BUG: Tray icons are correctly refreshed when the icon is changed.
git-svn-id: svn://localhost/gambas/trunk@1529 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Enhance the behaviour of the console text search.
* BUG: Enhance and fix the behaviour of the ESCAPE key.
* BUG: Renamed controls like DataControl are correctly refreshed inside the
form editor.
[INFORMER]
* NEW: When creating all information files in one shot, child processes are
used instead of loading all components in the same process.
[INTERPRETER]
* BUG: RInStr() third argument is now correctly taken into account in all
cases.
* BUG: Fix a bug in inheritance with classes written in Gambas overriding
symbols whose name begins with 'P', 'R' or 'M'.
[GB.DB.FORM]
* BUG: Setting DataBrowser.Control property to FALSE works again.
[GB.QT]
* BUG: Menu shortcuts are automatically enabled when the menu is shown.
[GB.QT.EXT]
* NEW: When the focus is set on an Editor, the cursor is ensured to be
visible.
git-svn-id: svn://localhost/gambas/trunk@1462 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: An uninitialized structure field made the compiler badly mark class
reference as exported.
git-svn-id: svn://localhost/gambas/trunk@1376 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix some use of boolean value incrementing.
[INTERPRETER]
* BUG: Class declared with the 'Class' keyword are alwyas global.
* BUG: A stupid hack in gb.db requires that the value is always stored
just after the datatype in the VALUE and GB_VALUE structures.
[COMPILER]
* BUG: Class declared with the 'Class' keyword are alwyas global.
[GB.DESKTOP]
* NEW: Desktop.Passwords is a new property that allows to store and
retrieve passwords in the KDE wallet or the GNOME keyring, according to
the running desktop. Only KDE and GNOME are supported. I don't know if
XFCE has something equivalent...
[GB.DESKTOP.GNOME]
* NEW: This new component is automatically loaded by gb.desktop when the
GNOME keyring is requested.
[GB.FORM]
* BUG: Fix some use of boolean value incrementing.
[GB.FORM.MDI]
* NEW: The Workspace popup menu now sort the windows by title.
[GB.QT]
* NEW: XEMBED support was upgraded to the 1.3 version of QtXEmbed classes.
* BUG: Fix some use of boolean value incrementing.
git-svn-id: svn://localhost/gambas/trunk@1373 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Makes better configuration warning messages when detecting libintl
and libiconv libraries.
[DEVELOPMENT ENVIRONMENT]
* NEW: The About dialog box was redesigned. The Hall Of Fame is now
displayed with a cool animation.
* NEW: The entire project was adapted to the new way of calculating
Desktop.Scale.
* NEW: When loading a Gambas 2 form, the form editor tries to adapt to the
new way of calculating Desktop.Scale automatically.
[COMPILER]
* BUG: Adds many error messages when a compiler limit is reached: too many
static symbols in a same class, too many dynamic symbols, too many
functions, and so on.
[GB.GTK]
* NEW: Desktop.Scale is now half the font ascent, not half the font height.
* NEW: Color.Medium() method was replaced by Color.Mix(), that takes a new
optional argument indicating the relative weight of the second color.
[GB.QT]
* NEW: Desktop.Scale is now half the font ascent, not half the font height.
* NEW: Color.Medium() method was replaced by Color.Mix(), that takes a new
optional argument indicating the relative weight of the second color.
[GB.QT.EXT]
* BUG: Editor now correctly highlight its frame according to the focus
change on styles that have use of that.
git-svn-id: svn://localhost/gambas/trunk@1304 867c0c6c-44f3-4631-809d-bfa615b0a4ec