[INTERPRETER]
* BUG: Fix overflow detection in conversion functions.
* BUG: Check for overflow detection only if the '__has_builtin' pseudo-macro is implemented by the compiler.
[COMPILER]
* OPT: Support for local variable manipulation optimization.
[INTERPRETER]
* OPT: Avoid unneeded type conversion swhen manipulating local variables.
* OPT: Various optimizations of the interpreter execution loop. Apparently a smaller execution loop has a big impact on speed. I guess this is related to the size of the various CPU caches.
[INTERPRETER]
* NEW: Formatting a date with 'gb.Standard' now uses 'gb.MediumDate' concatenated to 'gb.MediumTime', as 'gb.GeneralDate' now is a different format.
* BUG: Str() now uses gb.Standard to format dates, so that Val() and IsDate() can understand them.
[INTERPRETER]
* NEW: '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
* NEW: Rename macro that convert a Gambas stream object to the internal stream structure and add a macro that does the reverse conversion.
[INTERPRETER]
* NEW: If an unknown symbol is called through a parent class reference, the _unknown() method is not called and an error is raised if the unknown symbol exists in the actual child class.
[INTERPRETER]
* NEW: Creating a NULL value now clears the object address field so that it can be freely interpreted as a Object value with a null address by the JIT compiled code.
[GB.JIT]
* BUG: Correctly restore stack after calling a method through the interpreter.
[INTERPRETER]
* NEW: JIT: Add an API for throwing type mismatch errors.
* BUG: Raise a type mismatch error when converting a function to a variant. Don't panic anymore.
[GB.JIT]
* BUG: Handle function datatype by raising a type mismatch error.
[INTERPRETER]
* NEW: Support for error management in JIT methods.
[COMPILER]
* BUG: Fix Error() function metadata.
[GB.JIT]
* NEW: Support for error management.
* NEW: TRY instruction.
* BUG: Correct support of NULL.
[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.
* BUG: Do not crash anymore when converting a pointer to an anonymous object. Raise an error instead.
git-svn-id: svn://localhost/gambas/trunk@8030 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: Fix a crash when using CStr() on an object having a conversion
function.
git-svn-id: svn://localhost/gambas/trunk@6056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Display the error returned by the glibc when a locale cannot be set.
* NEW: Allow the class conversion routine to define the target datatype by
itself.
[GB.DB]
* BUG: The automatic Blob to String conversion does not lead to a crash
anymore.
git-svn-id: svn://localhost/gambas/trunk@5999 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: Pointer to string conversion now uses hexadecimal numbers.
[GB.QT4]
* BUG: Clipping now works when drawing pictures or images.
git-svn-id: svn://localhost/gambas/trunk@5478 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix compilation on 32 bits systems.
[GB.FORM]
* NEW: DateChooser got a boolean Border property.
* NEW: ColorChooser got a boolean Border property.
[GB.GTK]
* BUG: Style drawing methods should be correctly clipped now.
* BUG: Compilation with older versions of librsvg should work now.
* BUG: Setting the Paint.Font property with a control font has no side
effects anymore.
* BUG: Drawing richt text and getting rich text size now wrap the text the
same way.
git-svn-id: svn://localhost/gambas/trunk@5474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Pointer can be converted to String like Integer or Long.
[DEVELOPMENT ENVIRONMENT]
* BUG: Correctly update the '~/.fonts.conf' file when installing the Gambas
font.
[GB.GTK]
* NEW: Remove HSplit and VSplit controls.
[GB.GUI.BASE]
* NEW: HSplit and VSplit controls are now implemented with Gambas.
* BUG: Fix scrollbar layout of ScrollArea and all its descendants.
[GB.QT4]
* NEW: Remove HSplit and VSplit controls.
git-svn-id: svn://localhost/gambas/trunk@5472 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: You can convert a pointer to a static structure now. It is useful
when an extern function has a 'struct XXX **' argument.
git-svn-id: svn://localhost/gambas/trunk@4974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Remove a useless test in the macro that returns the class of an
object.
* OPT: Some little optimization in some type checks.
git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When converting an instance of A to the class B, try the conversion
interface of A first. If A has no conversion interface, or if it cannot
handle the B class, then try the conversion interface of B if any.
[GB.GSL]
* NEW: Vector class has been implemented.
[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS
structure.
git-svn-id: svn://localhost/gambas/trunk@4916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly raise an error when trying to use NULL on classes
implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any
datatype.
[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.
git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "_operators" is a new interface that allows any native class to be
used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the
moment.
* NEW: The "_convert" interface now allows a class to be converted to any
datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
string conversion of any object.
[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be
handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.
git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: INPUT now only read strings. It does not convert the read string
with Val() anymore.
* BUG: IIf() and [...] do not accept non-value datatypes (Class and
Function).
* NEW: Start supporting displaying Collection-like classes in the debugger.
git-svn-id: svn://localhost/gambas/trunk@4557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Byte[].FromString() is a now a static method that creates a new byte
array from a string.
git-svn-id: svn://localhost/gambas/trunk@3918 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
* BUG: Fix conversion from floating point number to date when the number is
negative.
git-svn-id: svn://localhost/gambas/trunk@3904 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Always translate the True and False string dynamically.
[GB.DB.FORM]
* OPT: Try to minimize refresh when DataSource.Connection is set.
* BUG: DataView editor font is correct now.
[GB.QT4]
* OPT: Changing the number of rows or columns of a GridView does not
trigger a useless refresh anymore.
* OPT: Moving the cursor of a GridView in multiple selection mode does not
trigger a full update anymore.
git-svn-id: svn://localhost/gambas/trunk@3833 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a gb.ShortNumber format to Format$().
* NEW: Use that format for converting Single to String.
* BUG: Check the internal conversion special class method everywhere an
object is converted.
[GB.DEBUG]
* NEW: Use gb.ShortNumber to display Single values.
git-svn-id: svn://localhost/gambas/trunk@3414 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Val() and IsXXX() functions algorithm has been fixed. Now the
string is trimmed before being converted. Thousand separators are really
valid only to separate thousands. Extra non-space characters at the end
of the string make the conversion fail.
git-svn-id: svn://localhost/gambas/trunk@3382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The scaring change. IsByte(), IsShort(), IsSingle(), IsString(),
IsPointer(), IsObject() and IsVariant() have been removed. IsNull() has
been kept unchanged.
* NEW: IsInteger() now returns if a string can be converted to an Integer
number.
* NEW: IsLong() now returns if a string can be converted to an Integer or a
Long number.
* NEW: IsFloat() now returns if a string can be converted to a Float, but
not an Integer or a Long.
* NEW: IsNumber() now returns if a string can be converted to an Integer, a
Long or a Float.
* NEW: IsDate() now returns if a string can be converted to a Date.
* NEW: Str(True) and Str(False) now use the translation of the "True" and
"False" string, if they exist in the current project.
* NEW: Val() now uses the translation of the "True" and "False" string, if
they exist in the current project.
git-svn-id: svn://localhost/gambas/trunk@3329 867c0c6c-44f3-4631-809d-bfa615b0a4ec