* BUG: Correctly handle the current component interpreter variable when an error occurs.
git-svn-id: svn://localhost/gambas/trunk@7603 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 crash when the first use of a class symbol recursively calls
the current function being executed.
git-svn-id: svn://localhost/gambas/trunk@6383 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly check that there is a current enumeration if the Enum
class methods and properties.
* NEW: Enum.Stopped is a new property that returns if the current
enumeration has been stopped.
* BUG: The [] operator is now correctly overridden in classes inheriting an
array class or Collection.
git-svn-id: svn://localhost/gambas/trunk@5935 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
* NEW: The RAISE instruction now can raise events defined in a parent
class.
* NEW: Timer: The Trigger method now does nothing if there is an already
pending trigger. This behaviour is not backward-compatible, so it may be
removed if problems arise.
[COMPILER]
* NEW: The RAISE instruction now can raise events defined in a parent
class.
[GB.DRAW]
* NEW: Implement standard operators in Point and PointF classes.
* NEW: Automatic conversion between Point and PointF.
* NEW: 'CDraw.c' and 'CDraw.h' source files have been renamed as 'cdraw.c'
and 'cdraw.h'.
* NEW: Rect.Center() and RectF.Center() are two new methods that return the
center of the rectangle.
[GB.FORM]
* NEW: FileChooser: tar archives now can be uncompressed.
git-svn-id: svn://localhost/gambas/trunk@5359 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: Static unknown properties can be used in a dynamic context now.
git-svn-id: svn://localhost/gambas/trunk@4897 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now the _property special method can be static even if _unknown is
dynamic. Anyway, if _unknown is static then all unknown properties and
methods must be static, and if _unknown is dynamic, they all must be
dynamic.
git-svn-id: svn://localhost/gambas/trunk@4896 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: Database properties now can be editer even if there is no connection
property defined in the form.
[GB.FORM]
* BUG: TabPanel now should not crash if there is no tab visible.
* BUG: The first visible TabPanel button is now drawn correctly if its
index is not zero.
git-svn-id: svn://localhost/gambas/trunk@4348 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Don't use glibc memcmp() to compare strings. My own routine is a
little faster according to valgrind.
* OPT: The UTF-8 String class routines Left(), Mid() and Right() have been
optimized. The positions of the first 256 characters of the last string
processed by the String class are cached.
* OPT: Some native methods can be called like any other native subroutines.
But that can be used only inside the interpreter, not in a component.
* OPT: The '&' operator is faster now when it takes two arguments only (the
most frequent case).
git-svn-id: svn://localhost/gambas/trunk@4106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Translatable string constants are now correctly translated when they
are used as public symbols.
git-svn-id: svn://localhost/gambas/trunk@3963 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove a debugging message in the connection editor.
[INTERPRETER]
* NEW: '_property' is a new special method that must return TRUE when an
unknown symbol (stored in Param.Name) is a property. If that special
method is not implemented, all unknown symbols are methods.
* NEW: Remove the deprecated constant gb.Text.
* NEW: Param.Property has been removed.
[COMPILER]
* NEW: Handle the new '_property' special method. That method must be
public, dynamic, takes no argument, and must return a boolean.
git-svn-id: svn://localhost/gambas/trunk@3915 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented, so all projects need to be
recompiled!
[INTERPRETER]
* OPT: Many little optimizations.
* OPT: Avoid calls to setjmp() when it is possible.
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
[COMPILER]
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
git-svn-id: svn://localhost/gambas/trunk@3013 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly deals with unknown components in the project property
dialog.
[INTERPRETER]
* NEW: Error backtrace is now always printed.
* OPT: Some optimizations in mathematical routines.
[GB.IMAGE]
* NEW: Image.FillRect() is a new method that fills a rectangle with a
specified color.
git-svn-id: svn://localhost/gambas/trunk@3007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Breakpoints are correctly reset when opening a new project.
[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API
signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.
[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
automatically converted to uppercase.
git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.
[COMPILER]
* BUG: Raise an error now when trying to create an array of structures.
[GB.QT4]
* OPT: Global widget event filter is faster.
* OPT: Do not internallt relayout TabStrip too often, because Qt takes a
lot of time to do that.
git-svn-id: svn://localhost/gambas/trunk@2974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been increased, and so all projects must be
recompiled.
[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event
management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have
been removed.
[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.
[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().
git-svn-id: svn://localhost/gambas/trunk@2970 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: 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
* NEW: Detect PowerPC architecture.
[INTERPRETER]
* OPT: As old static arrays have been removed, a new little optimization
is possible in array reading and writing functions.
git-svn-id: svn://localhost/gambas/trunk@2950 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: Support for "static" arrays is finally removed.
[COMPILER]
* NEW: Support for "static" arrays is finally removed.
git-svn-id: svn://localhost/gambas/trunk@2945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Architecture detection.
* NEW: Updated libtool macros.
[DEVELOPMENT ENVIRONMENT]
* NEW: Highlight the current procedure in the editor procedure popup.
[INTERPRETER]
* BUG: Alignment fixes for the ARM architecture.
[GB.DRAW]
* NEW: Start implementing the new Paint interface.
[GB.GTK]
* BUG: GridView.Clear is now correctly implemented.
git-svn-id: svn://localhost/gambas/trunk@2505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Greek translation made by Alexandros Prekates.
* BUG: Non-versioned files or directories are not locked anymore so that
you can add it to the repository.
[INTERPRETER]
* BUG: Non-integer constants are correctly optimized and keep their
datatype.
[COMPILER]
* BUG: Non-integer constants are correctly compiled and keep their
datatype.
git-svn-id: svn://localhost/gambas/trunk@2385 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Freeing a collection does not crash anymore if a collection item is
removed during the process.
* BUG: Static variables are correctly inherited now.
git-svn-id: svn://localhost/gambas/trunk@2023 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Replace "Image provider" feature by "Image loading and saving"
feature in the project property dialog.
[INTERPRETER]
* NEW: Collection[""] does not raise a "void key" error anymore. It just
returns NULL.
* BUG: The Collection array accessor error management is not disturbed by
the debugger anymore. This fix a possible interpreter crash.
git-svn-id: svn://localhost/gambas/trunk@1832 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some bugs fixes coming from Gentoo.
[DEVELOPMENT ENVIRONMENT]
* BUG: Some fixes in the case of signature symbols.
[WIKI CGI SCRIPT]
* BUG: Try to display the language bar in Firefox the same way as in
Konqueror.
[INTERPRETER]
* BUG: Collection[] now correctly raises an error when the key is null.
[GB.GTK]
* BUG: Fix the use of the gambas part in the TreeView class.
[GB.NET.CURL]
* BUG: Successive calls to the Get() or Put() methods should not make the
interpreter crash at exit anymore.
git-svn-id: svn://localhost/gambas/trunk@1554 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use colorgcc if it is present. Beware that ccache removes the
colors.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix the output console search.
* BUG: When making a package, ignore the charset translation errors while
printing the commands output.
* NEW: Support for the Khmer language.
[WIKI CGI SCRIPT]
* NEW: Support for the macedonian language.
[INTERPRETER]
* BUG: Fix the interpreter for gcc 4.3.
* NEW: Prints the gcc version used for compiling the interpreter when
running 'gbx2 -h'.
* BUG: Fix the initialization of standard input/output streams.
[COMPILER]
* BUG: Fix a compilation warning on FILE_set_chown.
[GB.GTK]
* BUG: Initialize correctly the gControl class.
* BUG: Draw.Tile now works correctly.
* BUG: Fix the vertical alignment management.
* BUG: The alignment of a GridView cell with a picture only is correct now.
[GB.QT]
* BUG: Choose the right moc executable when both QT3 and QT4 are installed
on the system.
* BUG: Fix the system tray icons for KDE 3.5.10. :-)
* BUG: The alignment of a GridView cell with a picture only is correct now.
git-svn-id: svn://localhost/gambas/trunk@1493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Do not set Project ColumnView AutoResize property to TRUE. Use a
very wide column instead to optimize redrawing.
* BUG: Fix a tooltip in the subversion conflict dialog.
* NEW: The component tab of the project property dialog has been
redesigned. Now you have to double click on a component to get
information on it.
* NEW: Property editing is now locked only if a specific toggle button is
pressed. This button is located on the right top of the property sheet.
[INTERPRETER]
* BUG: Handle the evaluation of Eval() expressions the same way as any
other code. Otherwise, stack can be leaked when there is an exception
inside.
* NEW: The foreign function interface is now optional.
* BUG: The use of array accessors is now correctly checked.
[GB.DB.SQLITE2]
* BUG: Reading floating point values and other values do not depend on the
locale anymore.
* NEW: Remove useless code.
[GB.DB.SQLITE3]
* BUG: Reading floating point values and other values do not depend on the
locale anymore.
* NEW: Remove useless code.
[GB.GTK]
* BUG: Fix uninitialized variables in ggridview.cpp and gmainwindow.cpp.
[GB.QT]
* OPT: ScrollView layout process is delayed.
[GB.SETTINGS]
* BUG: Do not use Array datatype incorrectly anymore.
git-svn-id: svn://localhost/gambas/trunk@1368 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some little layout fixes.
[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed.
Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
unloaded until the process terminates. That can be useful when
debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.
[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
controls, so that the input methods are not disturbed. Consequently;
SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or
KeyRelease event handler correctly now.
git-svn-id: svn://localhost/gambas/trunk@1199 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: English and french tips were updated. A new tip was added.
* NEW: Files that were opened at project close are automatically reopened
when the project is loaded again.
* NEW: A warning message is displayed when the GNU translation tools are
not installed.
* BUG: The code editor method combo-box is correctly updated now.
* BUG: Some fixes in the automatic completion.
* BUG: Replace points by dash in the name of packages generated by the IDE
packager.
* NEW: Updated russian translation
* NEW: Updated french translation
[DATABASE MANAGER]
* NEW: Updated russian translation
[EXAMPLES]
* BUG: Fixed the Gravity and the GameOfLife examples so that they do not
use public form controls anymore.
[INTERPRETER]
* OPT: Many optimizations in the string substitution routines, the
internal datatype conversions, the INPUT and LINE INPUT instructions, the
error messages generation, the object and string reference counting, and
the memory allocation routines.
* NEW: Opening a device file in direct mode (FOR READ/WRITE) is now
automatically non blocking.
* OPT: Lof() now only tries its different methods (ioctl and lseek) once.
* BUG: Val() now ignores thousand separators characters at the end of the
number.
* NEW: A new flag for enabling the stack trace generation at each error.
[GB.DEBUG]
* BUG: The gb.debug component interface declaration was not 64-bits aware.
[GB.EVAL]
* BUG: The Highlight.Purge() method now correctly deals with non-ASCII
characters.
[GB.FORM]
* BUG: TableView.Edit() does not raise a "read-only combo-box" error
anymore.
[GB.FORM.DIALOG]
* BUG: Dialog buttons now are never cut.
[GB.GTK]
* BUG: Cached drawing areas are correctly redrawn now.
* BUG: Loading big images now works correctly. There is apparently a bug
in the GTK+ image loader, and I found a workaround.
* BUG: Message boxes correctly display the text of their buttons now.
[GB.QT]
* BUG: The Open, and initial Move and Resize event of embedded forms are
now always raised when you call the Show method or if you set the Visible
property. Before, it was raised when the embedded form was actually
shown.
[GB.SETTINGS]
* NEW: Settings are now stored in ~/.config/gambasX, where X is the
gambas version number.
* BUG: Strings are correctly quoted inside the settings file now.
[GB.WEB]
* NEW: Application.Protocol is a new property that allows to tell the
component that the protocol is not necessarily "http".
git-svn-id: svn://localhost/gambas/trunk@1153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in string comparison operators.
* OPT: Optimizations in string allocations.
* OPT: Optimizations in Left$(), Mid$(), Right$() and Len().
* OPT: Optimizations of calls to native methods when the number of
arguments is fixed, and when no argument conversion is needed.
* OPT: Optimizations of INPUT and LINE INPUT, by using an internal buffer
instead of reading the stream one byte at a time.
* BUG: Fixed the new error management.
* BUG: Fixed a possible spurious error when reading a file from an archive.
[GB.EVAL]
* BUG: Use the same new error management than the interpreter.
[GB.QT]
* BUG: The DrawingArea control now should draw its border correctly without
erasing its contents.
git-svn-id: svn://localhost/gambas/trunk@1041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Native array optimizations are better. For arrays with one
dimension, reading is about 70% faster than gambas2, and writing 40%
faster.
* OPT: Collection array accessors were optimized too. Reading is about 50%
faster and writing 60% faster. Be careful: only the array accessors were
optimized, not the full hash table access, which is the slower part of
the process.
git-svn-id: svn://localhost/gambas/trunk@1036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixed the allocation of static arrays.
* BUG: Array classes array accessors now correctly check the number of
their argument when the array has just one dimension.
* OPT: Native array classes array accessors were optimized. For one
dimension arrays, reading is about 50% faster and writing 25% faster.
The gain is smaller for higher dimensions.
git-svn-id: svn://localhost/gambas/trunk@1035 867c0c6c-44f3-4631-809d-bfa615b0a4ec