Commit graph

1933 commits

Author SHA1 Message Date
gambas
20a345cec4 Fix compilation of function calls with variable arguments passing.
[COMPILER]
* BUG: Fix compilation of function calls with variable arguments passing.
* BUG: Remove some useless structure packing directives.

[INTERPRETER]
* BUG: Fix compilation of function calls with variable arguments passing.
2019-11-09 11:58:57 +01:00
gambas
b02810d025 Fix Find() method on Float, Single, and Long arrays.
[INTERPRETER]
* BUG: Fix Find() method on Float, Single, and Long arrays.
2019-11-09 11:34:43 +01:00
Laurent Carlier
3f099c9b83 Partially revert "Remove register keyword, deprecated, now reserved keyword with C++17"
This partially reverts commit f1deb8e330.

Register keyword can be useful when the interpreter is built with '-Os'
2019-10-30 10:37:29 +01:00
Laurent Carlier
f1deb8e330 Remove register keyword, deprecated, now reserved keyword with C++17
Fixes "warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]"
with clang

https://en.cppreference.com/w/cpp/keyword/register
2019-10-30 06:53:09 +00:00
gambas
d8abac4cce Fix exponent sign printed twice in float to string conversion.
[INTERPRETER]
* BUG: Fix exponent sign printed twice in float to string conversion.
2019-10-29 09:20:41 +01:00
gambas
65d2b783fe Paint.TextHeight is a new property that returns the height of one line of text, and Paint.FontScale is now "transparent".
[GB.DRAW]
* NEW: Paint.TextHeight is a new property that returns the height of one line of text. This is not the same as Paint.Font.Height, as the device resolution is taken into account.

[GB.GTK]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.GTK3]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT4]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT5]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.
* BUG: Utility windows now kept being in front of their parent window correctly.
2019-10-26 01:06:18 +02:00
gambas
f75de9a70f Fix highlighting of long lines and comments.
[GB.EVAL.HIGHLIGHT]
* BUG: Fix highlighting of long lines and comments.
2019-10-25 15:24:04 +02:00
gambas
8d8c8a71f8 Remove a useless global variable.
[INTERPRETER]
* BUG: Remove a useless global variable.
2019-10-21 09:44:52 +02:00
gambas
8c6f234cf4 Do JIT compilation after class loading. Otherwise the JIT compiler may want to load the class that triggers the compilation again.
[INTERPRETER]
* BUG: Do JIT compilation after class loading. Otherwise the JIT compiler may want to load the class that triggers the compilation again.
2019-10-12 13:06:01 +02:00
gambas
b7f2918fbd Correctly generate metadata file for events so that there is no spurious ByRef arguments anymore.
[COMPILER]
* BUG: Correctly generate metadata file for events so that there is no spurious ByRef arguments anymore.
2019-10-08 09:12:12 +02:00
gambas
e8ae38e098 Forgot to commit common header files.
[INTERPRETER]
* BUG: Forgot to commit common header files.
2019-10-07 22:04:56 +02:00
gambas
719f7967ad System.Trace is a new property that toggles the dump of the position of each executed line.
[INTERPRETER]
* NEW: Add command-line help for the '-t' option.
* NEW: The '-t' command-line option has a '--trace' long version.
* NEW: System.Trace is a new property that toggles the dump of the position of each executed line.
2019-10-05 04:03:32 +02:00
gambas
b73b47aca6 Floating-point number to string conversion is now 1.7 times faster.
[INTEPRETER]
* OPT: Floating-point number to string conversion is now 1.7 times faster.
2019-09-28 21:15:59 +02:00
gambas
28df313554 Add a '-t' option that dumps to the standard error the position of each executed line of code.
[INTERPRETER]
* NEW: Add a '-t' option that dumps to the standard error the position of each executed line of code.
2019-09-28 16:53:48 +02:00
gambas
f08ce22cdc Fix support of read-only arrays.
[INTERPRETER]
* BUG: Read-only arrays are now really read-only.

[GB.JIT]
* BUG: Support for read-only arrays.
2019-09-26 14:25:37 +02:00
gambas
7a49f039b5 Uncatched errors raised from an event handler can be ignored now.
[INTERPRETER]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK3]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT4]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT5]
* NEW: Uncatched errors raised from an event handler can be ignored now.
2019-09-17 10:10:36 +02:00
gambas
225f2833da Fix again the management of the new new PROPERTY ... USE syntax.
[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.
2019-09-12 03:23:38 +02:00
gambas
133fd6e2d9 Fix again some crash when using the new PROPERTY ... USE syntax.
[COMPILER]
* BUG: Fix again some crash when using the new PROPERTY ... USE syntax.
2019-09-11 19:50:19 +02:00
gambas
51a9a1035d Fix crash when using the new PROPERTY ... USE syntax.
[COMPILER]
* BUG: Fix crash when using the new PROPERTY ... USE syntax.
2019-09-11 19:38:04 +02:00
gambas
d3fdd6fdda Error.Clear() now clears the error flag returned by the ERROR function.
[INTERPRETER]
* NEW: Error.Clear() now clears the error flag returned by the ERROR function.
2019-09-09 23:58:11 +02:00
gambas
a3b14f765b Fix the declaration of static properties using USE.
[COMPILER]
* BUG: Fix the declaration of static properties using USE.
2019-09-05 23:31:19 +02:00
gambas
234c2c690a [GB.DB]
* NEW: Add a driver API that handles debugging messages.
* NEW: Print the current date/time before any debugging message.

[GB.DB.MYSQL]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.ODBC]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.POSTGRESQL]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.SQLITE2]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.SQLITE3]
* NEW: Use the new driver API to print debugging messages.
2019-08-30 09:09:16 +02:00
gambas
56b7b9e322 Forgot a comma in the error message list, making the raise of the last error message crash.
[INTERPRETER]
* BUG: Forgot a comma in the error message list, making the raise of the last error message crash.
2019-08-24 01:57:16 +02:00
gambas
51e271f107 Fix '&/' operator.
[INTERPRETER]
* BUG: Fix '&/' operator.
2019-08-22 12:36:52 +02:00
gambas
abf4dfb110 PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
[COMPILER]
* NEW: PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
2019-08-22 03:13:58 +02:00
gambas
7b74fec6cc '&/' operator now automatically converts its arguments to strings.
[INTERPRETER]
* NEW: '&/' operator now automatically converts its arguments to strings.
2019-08-21 22:36:54 +02:00
gambas
411ee75e7d Fix JIT compilation when there are a lot of functions.
[INTERPRETER]
* BUG: Fix JIT compilation when there are a lot of functions.
2019-08-21 22:08:45 +02:00
gambas
4d59c6062d Fix boolean datatype management.
[GB.JIT]
* BUG: Fix boolean datatype management.
2019-08-21 01:23:12 +02:00
gambas
db50637bf4 Static class initializer are now always correctly run in the context of their component.
[INTERPRETER]
* BUG: Static class initializer are now always correctly run in the context of their component.
2019-08-03 00:13:56 +02:00
gambas
b11d422c14 Array.ReadOnly is a new property that make an array read-only. Once set, the property cannot be unset.
[INTERPRETER]
* NEW: Array.ReadOnly is a new property that make an array read-only. Once set, the property cannot be unset.
* NEW: The "Embedded array" error message has been rewritten as "Read-only array".
* NEW: Add two new standard errors: "Multidimensional array" and "Unknown class".
* NEW: Replace some specific error messages by standard errors.
2019-07-31 00:20:13 +02:00
gambas
f6f7f85f8b Add ByRef annotations to the ".info" files generated by the compiler.
[COMPILER]
* NEW: Add ByRef annotations to the ".info" files generated by the compiler. The name of "ByRef" method arguments is now prefixed with a '&' character.
2019-07-15 15:38:52 +02:00
gambas
8e487e5b18 Painting on an already painted device now correctly inherits the Paint.FontScale property.
[GB.DRAW]
* BUG: Painting on an already painted device now correctly inherits the Paint.FontScale property.
2019-07-10 04:22:14 +02:00
gambas
798b1d54cc Add Paint.FontScale, and make gb.gtk and gb.gtk3 printer drawing behave the same as QT components.
[GB.DRAW]
* NEW: Paint: FontScale is a new property that defines a scale applied to the size of the fonts assigned to the Paint.Font property.
* NEW: Paint: Scale() second argument is now optional, and takes the same value as the first argument if omitted.

[GB.GTK]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().

[GB.GTK3]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().
* BUG: Printer: Print() does now crash anymore.
* BUG: Printer: Font sizes now are the same as with QT components.

[GB.QT4]
* NEW: Paint: Implementation of Paint.FontScale.

[GB.QT5]
* NEW: Paint: Implementation of Paint.FontScale.
2019-07-09 19:35:01 +02:00
gambas
01a3106d20 New Highlight.Alternate style, and make the matching braces blink with the cursor.
[GB.EVAL]
* NEW: Highlight.Alternate is a new constant that represents the background style used for coloring code embedded into webpages.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for new Highlight.Alternate style.

[GB.FORM.EDITOR]
* NEW: Support for new Highlight.Alternate style.
* NEW: Matching braces now blink with the cursor.
* BUG: When the cursor moves, the blinking timer is reset so that the cursor blinks only when it is not moving.
2019-06-29 16:11:51 +02:00
gambas
4128a33adf Update library to version 6.4.2.
[GB.CLIPPER]
* NEW: Update library to version 6.4.2.
* BUG: Get rid of a gcc warning.
2019-06-29 16:10:21 +02:00
gambas
23c426857f Don't crash anymore when searching into an archive that failed to load.
[INTERPRETER]
* BUG: Don't crash anymore when searching into an archive that failed to load.
* BUG: The archive path is now a dynamic string.
2019-06-27 12:59:32 +02:00
gambas
bc8223e240 If the current translation does not exist, try to use the first available translation of the same language in another country.
[INTERPRETER]
* NEW: If the current translation does not exist, try to use the first available translation of the same language in another country.
2019-06-22 01:20:38 +02:00
gambas
cfb4a9d2a8 Enumerating an unknown datatype does not raise an error automatically anymore.
[GB.JIT]
* BUG: Enumerating an unknown datatype does not raise an error automatically anymore.
2019-06-18 09:50:56 +02:00
gambas
8d76cc99ba Component.Load() can load a component located at an absolute path now.
[INTERPRETER]
* NEW: Component.Load() can load a component located at an absolute path now.
2019-06-14 01:26:12 +02:00
gambas
ce37d6ff67 Ignore errors when loading a class for the JIT compiler.
[INTERPRETER]
* BUG: Ignore errors when loading a class for the JIT compiler.

[GB.JIT]
* BUG: Loading a class during JIT compilation can fail. Take that into account.
2019-06-11 22:32:12 +02:00
gambas
609e3348dd Stream.Eof is a new property that returns if end of stream has been reached.
[INTERPRETER]
* NEW: Stream.Eof is a new property that returns if end of stream has been reached. It's the same thing as Eof(Stream).
2019-05-20 16:14:17 +02:00
gambas
19b83e535d Fix 'gb.Scientific' number format.
[INTERPRETER]
* BUG: Fix 'gb.Scientific' number format.
2019-05-09 00:04:18 +02:00
gambas
cea4b4d1e4 Fix column computation when compiling expression tree.
[COMPILER]
* BUG: Fix column computation when compiling expression tree.
2019-05-08 15:32:11 +02:00
gambas
beb79ec952 Fix a forgotten '!' that broke the informer.
[INFORMER]
* BUG: Fix a forgotten '!' that broke the informer.
2019-05-08 14:15:01 +02:00
gambas
7ea4fb4ca5 Remove a useless memory allocation in column annotation. The compiler is now just 0.5% slower than before.
[COMPILER]
* OPT: Remove a useless memory allocation in column annotation. The compiler is now just 0.5% slower than before.
2019-05-08 06:27:14 +02:00
gambas
9f2da35cbe Emit column position in almost all error messages.
[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.
2019-05-08 06:20:35 +02:00
bgermann
44e3f4f7a3 Add missing wait header
WIFEXITED and WEXITSTATUS are used, so add sys/wait.h
2019-05-01 11:59:26 +02:00
gambas
7c0a6730cd Complete support for project extra references.
[CONFIGURATION]
* NEW: Update version to 3.13.90.

[DEVELOPMENT ENVIRONMENT]
* NEW: Redone extra references support.

[COMPILER]
* NEW: Take project extra references into account.

[GB.TERM.FORM]
* BUG: Fix project description.
2019-04-23 12:31:10 +02:00
gambas
f23228638b Fix Url$() escaping characters.
[INTERPRETER]
* BUG: Fix Url$() escaping characters.
2019-04-04 23:12:07 +02:00
gambas
3dd1fd493e Fix the JIT compiler: '_init' method, Lock instruction, Object datatype, and DO / REPEAT loops at the beginning of a function now work correctly.
[INTERPRETER]
* BUG: JIT compiler does not run static initializers anymore when loading a class. Otherwise bytecode can be modified before being compiled, leading to a JIT compiler crash.

[COMPILER]
* BUG: Fix LOCK subroutine meta-information.

[GB.JIT]
* NEW: Don't display abortion debugging message if there is no compilation to abort.
* BUG: Object variables are correctly managed now.
* BUG: DO...LOOP and REPEAT...UNTIL at the beginning of the function now is correctly compiled in all cases.
2019-04-04 22:58:06 +02:00