* 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
* 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 raise a syntax error now when there is anything between
the left part of an assignment and the assignment operator.
git-svn-id: svn://localhost/gambas/trunk@6253 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
* BUG: Fix maximum number of array declaration in the same class.
* NEW: Array and Collection constructor operator [ ... ] now can take any
number of arguments. It is only limited by the maximum function size,
which leads for example to about 32000 elements for a short array.
git-svn-id: svn://localhost/gambas/trunk@6110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix compilation of NOT LIKE, NOT BEGINS and NOT ENDS operators when
they are not alone in an expression.
git-svn-id: svn://localhost/gambas/trunk@6041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Undo one change of last revision: reading a stream from a memory
stream is a special case. It reads a null-terminated C string, and not a
serialized Gambas string.
* NEW: OPEN STRING is a new instruction that allows to use a string as a
stream. Writing to it appends the written data to the end of the string
at the moment.
* NEW: Closing a string stream returns the data written to the stream as a
new string.
[COMPILER]
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
instructions alone.
[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.
git-svn-id: svn://localhost/gambas/trunk@5941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The ".[xxx]" syntax now can be used inside a WITH <object> ...
END WITH control structure. It is a synonymous for "<object>[xxx]".
git-svn-id: svn://localhost/gambas/trunk@5797 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: Now a FOR loop with no loop variable correctly raises a syntax
error.
git-svn-id: svn://localhost/gambas/trunk@5637 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
* 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: 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
* 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: Fix the form editor grid horizontal position.
[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value
is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!
[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the
corresponding special floating values.
git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix translation dialog layout.
[INTERPRETER]
* BUG: Fix a typo mistake in an error message.
[COMPILER]
* BUG: Fix a typo mistake in an error message.
* NEW: Remove all Mk*$() functions.
[GB.FORM]
* NEW: The FileChoose/DirChooser popup menu has been redesigned.
* NEW: That popup menu has now a function to uncompress tar.gz and tar.bz2
archive files.
git-svn-id: svn://localhost/gambas/trunk@3648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.
[COMPILER]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.
[GB.EVAL]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.
git-svn-id: svn://localhost/gambas/trunk@3407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle structures in automatic completion.
[INTERPRETER]
* BUG: Make the malloc cache returns 8-bytes aligned pointers on 64 bits
systems.
[COMPILER]
* OPT: Some optimizations again.
* OPT: Do not use -O3 for symbol table routines. Valgrind says that it is
slower than with -Os. Strange...
git-svn-id: svn://localhost/gambas/trunk@2977 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: 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: 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: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[INTERPRETER]
* BUG: The &/ operator keeps only one slash if both the last character of
the left string and the first character of the right string is a slash.
* NEW: 'Begins' is a new string operator that checks if the beginning of a
string is equal to another string.
* NEW: 'Ends' is a new string operator that checks if the end of a string
is equal to another string.
* BUG: Errors raised by Eval() are correctly displayed again.
* NEW: The 'Like' operator has a new pattern: '{x,y,...}' tests if a
string matches one of the strings between square brackets, each one being
separated by a comma.
[GB.DB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.DESKTOP]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.GTK]
* BUG: Modal windows do not block mouse, keyboard, enter and leave events
anymore.
[GB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.FORM.MDI]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.WEB]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
git-svn-id: svn://localhost/gambas/trunk@2365 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for translated compiler error messages.
* NEW: French translatio of compiler error messages.
[COMPILER]
* BUG: Fix many error messages so that they are easily translatable.
* NEW: A new option, "-e", to output translatable error messages instead of
full ones.
git-svn-id: svn://localhost/gambas/trunk@2346 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the new Read/Write syntax.
[INTERPRETER]
* NEW: New Read/Write syntax.
* NEW: IsVariant() returns if its argument is a Variant.
[COMPILER]
* NEW: New Read/Write syntax.
* NEW: Support for the old read syntax.
[WIKI CGI SCRIPT]
* NEW: Allow query arguments ("?v3" for example) inside wiki links.
* NEW: New look for the table of contents.
* BUG: Non-translated pages display again.
[GB.WEB]
* NEW: Use the new Read/Write syntax.
git-svn-id: svn://localhost/gambas/trunk@2344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: VarPtr() now works on a string variable. It returns the address of
the string.
* NEW: TypeOf("") now returns gb.String. "" is equal to NULL yet, but now its
string datatype is kept.
* NEW: Memory is new instruction like Open that opens a memory stream from
a Pointer.
* NEW: A Pointer can not be used as a stream directly. You must use the new
Memory instruction for that.
* NEW: The [...] array constructor now checks the datatype of all its
argument to decide the type of the new array.
* BUG: The ["key":value] collection constructor now does not leak memory
anymore if it fails.
* NEW: A new error, "void key", whose code is 64.
* NEW: TypeOf(Null) now returns gb.Null and not gb.Object anymore.
* BUG: IIf() now returns a Variant only if needed. It uses the same
algorithm as the array constructor.
[COMPILER]
* NEW: Memory is new instruction like Open that opens a memory stream from
a Pointer. The syntax is: hStream = Memory pPonter For Read | Write.
* NEW: Support for form controls being individually public.
* BUG: VarPtr() is compiled correctly again.
git-svn-id: svn://localhost/gambas/trunk@2339 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work continues on integrating the database manager.
* NEW: Some cosmetic changes in the way controls are drawing on the form
editor.
* NEW: Panels with Border property set to None are now drawn with a light
border.
* BUG: Fix the "Show tab" button and menu.
[INTERPRETER]
* NEW: _attach is a new dynamic special method that is called when an
object is attached to or detached from its event observer. The first
argument of this method is the event observer, and the second argument
the event handler prefix.
[COMPILER]
* NEW: An expression can be a NEW instruction now. Beware that it does not
work inside braces.
[GB.DB]
* BUG: Fix an error message in the sqlite handler.
[GB.DB.FORM]
* NEW: DataSource.Table can now be any SQL query. The Filter property is
ignored in that case.
* BUG: Setting DataSource.Table to NULL correctly resets the DataSource and
its children.
* NEW: DataView automatically adjusts the height of its rows to the
contents.
* NEW: DataSource.CacheSize is a new property to set the number of rows
stored in the internal DataSource cache. When this property is set to
zero, the cache size takes its default value (64 rows).
[GB.DB.SQLITE2]
* BUG: Fix a crash in datatype mapping.
[GB.DB.SQLITE3]
* BUG: Fix a crash in datatype mapping.
[GB.QT4]
* BUG: Window.AutoResize property works as expected now.
* OPT: Some optimizations in GridView.
* NEW: GridView.Rows[].Visible returns if a specific row is visible.
* NEW: GridView.Rows[].EnsureVisible ensures that a specific row is
visible.
* BUG: Draw.Style.Panel draws the same thing as a panel border now.
* BUG: Window.Closed always returns the accurate value now.
git-svn-id: svn://localhost/gambas/trunk@2108 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
* NEW: Increment bytecode version.
[INTERPRETER]
* NEW: New routine to deal with the new immediate collection operator. The
bytecode has changed consequently.
[COMPILER]
* NEW: A new syntax to the array operator to create collections:
[ <key>:<value>, <key>:<value> ... ]
[GB.EVAL]
* NEW: Implement the new syntax for creating collections.
git-svn-id: svn://localhost/gambas/trunk@1699 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
* BUG: Removed the ability to compile property access without having to use
the ME keyword. This is too disturbing.
[GB.FORM]
* NEW: Uses the Draw.Style API for drawing SidePanel arrows.
[GB.FORM.MDI]
* NEW: Uses the Draw.Style API for drawing Toolbar handles.
[GB.QT]
* BUG: The style drawing methods really work.
git-svn-id: svn://localhost/gambas/trunk@1192 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API for returning the parent (event observer) of an object.
[COMPILER]
* BUG: Setting a property without having to use ME is possible now, if the
property is defined in the same file of course.
* NEW: Mid$() can be used on the left side of an assignment.
[GB.FORM]
* BUG: ValueBox now reformats its contents after its Value property has
been set.
[GB.GTK]
* BUG: Composed keys are correctly handled again by KeyPress events, but
the SCIM input method does not work yet.
* BUG: Form are their own event observer only if no event observer is
defined at form instanciation.
* BUG: The default tray icon is the same as gb.qt now.
[GB.QT]
* BUG: TrayIcon objects are correctly destroyed at program exit.
* BUG: Form are their own event observer only if no event observer is
defined at form instanciation.
* BUG: TrayIcon Width, Height, ScreenX and ScreenY properties do not crash
anymore when the tray icon is hidden. They return zero instead.
git-svn-id: svn://localhost/gambas/trunk@1187 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use TextEdit.RichText insted of TextEdit.Text.
* BUG: END SUB can be the end of a method. The class analyze now takes
that into account.
[HELP]
* BUG: Fixed the generated treeview.
[COMPILER]
* OPT: The NOT operator used just at the beginning of a conditional
expression is optimized. Consequently, an expression like 'IF NOT 2' is
now equivalent to 'IF 2 = 0' and not to 'IF (NOT 2) <> 0' as before. In
other words, the boolean conversion is now done before the NOT, and not
after. The following instructions are concerned: IF, WHILE, UNTIL.
* NEW: BYREF is new keyword that is a more readable synonymous of '@'.
[GB.DB.FORM]
* BUG: Correctly manage data controls inside TabStrip-like containers.
* BUG: Setting the focus on a non-initialized DataControl does not raise
an error anymore.
[GB.GTK]
* BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a
list of children widths, hidden children having a zero width.
* BUG: Window arrangement is done before the Open event is raised, as in
gb.qt.
* BUG: Keyboard, focus and mouse events now work correctly on Window and
DrawingArea controls.
[GB.QT]
* BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a
list of children widths, hidden children having a zero width.
* BUG: Many warning fixes.
* BUG: Now the Control.Visible property works like in gb.gtk, i.e. it
returns if the control was not explicitely hidden.
git-svn-id: svn://localhost/gambas/trunk@1060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object.SetProperty and Object.GetProperty now can deal with
public variables.
[COMPILER]
* BUG: A better error message for expressions that cannot be passed by
reference.
git-svn-id: svn://localhost/gambas/trunk@1017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Arguments passed by reference were implemented.
[COMPILER]
* NEW: Arguments passed by reference were implemented.
git-svn-id: svn://localhost/gambas/trunk@1016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version is now 2.99.0.
[EXAMPLES]
* BUG: Fixed the TextEdit example according to the new TextEdit properties.
[INTERPRETER]
* NEW: VarPtr() is a function that returns a pointer to the contents of a
variable. Only numeric variable that are local, dynamic or static can be
used.
* BUG: Fixed the loading of classes whose some variables are Pointer.
[COMPILER]
* NEW: VarPtr() is a function that returns a pointer to the contents of a
variable. Only numeric variable that are local, dynamic or static can be
used.
[GB.EVAL]
* NEW: VarPtr() cannot be used with Eval().
git-svn-id: svn://localhost/gambas/trunk@1014 867c0c6c-44f3-4631-809d-bfa615b0a4ec
[CONFIGURATION]
* NEW: 64 bits port.
[EXAMPLES]
* BUG: Fixed the AnalogWatch example.
[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.
[INTERPRETER]
* NEW: The extern function implementation has been redesigned and is now
based on libffi, so that it works on 64 bits system. Because of a flaw in
the compiler design, projects that use the Pointer datatype must be
recompiled to be used on a 64 bits system. This flaw will be fixed in
Gambas 3.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.
[COMPILER]
* BUG: Correctly compiles LONG constants inside code.
[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
libraries.
[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
now.
[GB.GTK]
* BUG: Modified the GLib priority of watched descriptors, as the main loop
could enter in a loop in which user interface events were not managed.
* BUG: Message boxes use application title without crashing now.
[GB.OPENGL]
* BUG: Disable dead code.
[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
read-only properties.
[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.
git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec