* OPT: Many optimizations again.
* BUG: Fix an unitialized variable in string to float conversion routine.
* BUG: Handle extern functions that return a pointer.
git-svn-id: svn://localhost/gambas/trunk@3003 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Some optimizations again in memory allocator, object releasing
routine, arithmetic operators, class variable reader, line-by-line stream
reader, class symbol sort routine.
* BUG: Using constant strings inside variant, like database drivers, works
correctly again and does not crash the interpreter anymore.
git-svn-id: svn://localhost/gambas/trunk@2996 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
* BUG: Try to fix the floating-point precision/rounding bug. In other
words, 0.6 is now printed 0.6, and not 0.6000...001 anymore.
git-svn-id: svn://localhost/gambas/trunk@2988 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: StrPtr() now can take a second argument to specify the length of the
string we will read from memory. If that argument is not specified, the
string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
Gambas array class.
[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
raises an error.
git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Archives are read correctly again on 64 bits OS.
* OPT: Memory allocations are now cached in a memory pool, so that malloc()
and free() are not called too often.
* BUG: The initial allocation of a new hash table is not too big anymore.
[COMPILER]
* OPT: Memory allocations are now cached in a memory pool, so that malloc()
and free() are not called too often. The compiler is now twice as fast as
it was before all the recent optimizations!
[ARCHIVER]
* BUG: Archives are read correctly again on 64 bits OS.
git-svn-id: svn://localhost/gambas/trunk@2976 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: Object file format has changed, so bytecode version has been
incremented, and all projects must be recompiled. Yes, again!
[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.
[COMPILER]
* OPT: Optimize symbol lookup tables.
[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more
intelligently now.
git-svn-id: svn://localhost/gambas/trunk@2971 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
* BUG: L'API GB.ReturnNewString() doit pouvoir retourner une chaîne vide.
Dans ce cas elle le transforme en un GB.ReturnNull().
git-svn-id: svn://localhost/gambas/trunk@2960 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use GB.ReturnNewZeroString() instead of GB.ReturnNewString() now.
All components using the old syntax should be fixed now.
* NEW: Start to manage structures.
git-svn-id: svn://localhost/gambas/trunk@2957 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
* 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
* BUG: Search string is correctly highlighted in all cases now.
[WEB SITE MAKER]
* NEW: German translation made by Stefan Lang.
[COMPILER]
* NEW: The 'New' keyword is now mandatory when declaring array variables
with dimensions. The IDE and component source code were modified
according to that change.
[GB.QT4.EXT]
* BUG: Search strings are correctly highlighted in editors with no syntax
highlighting.
git-svn-id: svn://localhost/gambas/trunk@2944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Change the semantic of Eof(). Now, if the stream is in blocking
mode, then Eof() will wait for the data before testing if something can
be read on the stream.
* BUG: Correctly initialize the stream flag that tells that data is always
available.
[COMPILER]
* BUG: Correctly raise an error when the INPUT or OUTPUT keywords are used
with the PIPE instruction.
[GB.FORM]
* NEW: ColorChoose.ShowColorMap is a new property that allows to hide or
show the colormap.
[GB.QT4]
* BUG: Correctly disable Qt automatic completion in the ComboBox control.
git-svn-id: svn://localhost/gambas/trunk@2940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the creation of the gbw3 symbolic link.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix an error in arrangement icon management.
* NEW: Merge all form editor toolbars.
* NEW: Support for code snippets. Type "fo" and TAB to see it. Not yet
finished.
[INTERPRETER]
* NEW: Standard format for numbers now displays all the decimal digits.
[GB.QT4.EXT]
* BUG: Fix a possible crash in Editor selection management.
git-svn-id: svn://localhost/gambas/trunk@2929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the display of arrangement icons.
* OPT: Keep a reference on the root control is the form editor.
* BUG: Loading recent files should never crash anymore now.
* BUG: Start fixing project creation.
[INTERPRETER]
* BUG: Don't load a component if its name is the same as the main project.
[GB.QT4]
* BUG: Mouse buttons properties work again during a MouseRelease event.
git-svn-id: svn://localhost/gambas/trunk@2924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix and enhance Gambas 2 project conversion.
[GB.QT4]
* BUG: Allow control resizing whatever the arrangement of its container,
provided that its Ignore property is set.
git-svn-id: svn://localhost/gambas/trunk@2920 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not show a form in the treeview if no component implements its
family.
[INTERPRETER]
* NEW: Detect overridden classes, and automatically convert the return
datatype of Gambas and native functions using an overridden class.
* NEW: Convert overridden classes in the NEW instruction.
git-svn-id: svn://localhost/gambas/trunk@2912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not trim pasted text when using special paste.
[INTERPRETER]
* NEW: Format() can format Float number with up to 16 digits now.
[GB.QT4.EXT]
* NEW: Support for an insert & block mode. This mode is toggled with the
"Insert" key.
git-svn-id: svn://localhost/gambas/trunk@2911 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove any use of Component.UserPath and any reference to "user
component".
* NEW: "libraries" management. Libraries are defined in a new tab of the
projet property dialog. At the moment, libraries exported classes are not
taken into account by the automatic completion.
* NEW: The ESC key now closes the help browser.
* BUG: Correctly translate compilation error messages.
[INTERPRETER]
* NEW: "libraries" management.
* NEW: The Component.UserPath property has been removed.
* BUG: Evaluating "Application.Path" or "Application.Name" on the command
line does not crash anymore.
[COMPILER]
* BUG: Enhance translation of some error messages.
* NEW: Take libraries into account for exported class declarations.
[ARCHIVER]
* NEW: new "-x" option to extract a file from an archive.
[GB.QT4.EXT]
* NEW: Be more clever when deciding if a line has been modified after
having its last character deleted.
git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Errors on immediate debugging expressions are correctly displayed
now.
[WEB SITE MAKER]
* BUG: "mailto:" links are correctly generated now.
[INTERPRETER]
* NEW: The 'u' and 'uu' date formats do not display a point anymore. The
point must be specified explicitely in the format string.
git-svn-id: svn://localhost/gambas/trunk@2900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Standard streams are correctly initialized now. Consequently, Input
and Line Input on them work correctly again.
git-svn-id: svn://localhost/gambas/trunk@2869 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Process stream correctly detects when something has been really read
during a Read event.
[GB.NET.SMTP]
* NEW: SmtpClient._NoGreeting is a new property that tells not to read the
SMTP server greeting. This is needed, because with TLS authentication,
openssl does not print it.
git-svn-id: svn://localhost/gambas/trunk@2865 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The GB.Stream.Read API reads up to a defined number of bytes when
its length argument is negative (like the READ instruction).
* NEW: Reading a stream up to a defined number of bytes blocks for the
first byte to read.
[GB.NET.SMTP]
* BUG: The SmtpClient now works when it is piped with a stream coming from
the openssl command, either with TLS or SSL.
* BUG: All SMTP commands are sent in lower case, because uppercase can
confuse openssl.
git-svn-id: svn://localhost/gambas/trunk@2864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New APIs to get a Gambas stream from a stream object
(GB.Stream.Get), to read data from a stream (GB.Stream.Read) and to write
date to a stream (GB.Steam.Write).
[GB.NET.SMTP]
* BUG: The _Socket property has been replaced by the _Stream property, that
takes a Gambas stream.
* BUG: Correctly release the user and password strings when the SmtpClient
is freed.
git-svn-id: svn://localhost/gambas/trunk@2863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New interpreter API to browse the project contents.
* BUG: RDir(".") does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@2861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix an uninitalized flag in the stream internal structure.
* BUG: Remove a forgotten debugging breakpoint.
git-svn-id: svn://localhost/gambas/trunk@2845 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Application.Startup now returns a Class object, the startup class.
git-svn-id: svn://localhost/gambas/trunk@2823 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Startup class name is now correctly returned by Appliction.Startup
git-svn-id: svn://localhost/gambas/trunk@2821 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Application.Startup is a new property that returns the name of the
startup class.
* NEW: Class.AutoCreate is a new method that creates the automatic instance
of a class, and returns it. It returns NULL if the class is not
auto-creatable.
git-svn-id: svn://localhost/gambas/trunk@2820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: RDir() takes a fourth optional argument, that tells if symbolic link
to directories must be recursively searched too.
[GB.DEBUG]
* BUG: Prevent a possible freeze of the IDE when debugging.
git-svn-id: svn://localhost/gambas/trunk@2819 867c0c6c-44f3-4631-809d-bfa615b0a4ec