Commit graph

1974 commits

Author SHA1 Message Date
gambas
2f071513d2 Add Highlight.Added and Highlight.Removed style constants.
[GB.EVAL]
* NEW: Add Highlight.Added and Highlight.Removed style constants.
2020-01-20 13:00:16 +01:00
gambas
6a0e3dbc4d Fix VarPtr() on function arguments.
[GB.JIT]
* BUG: Fix VarPtr() on function arguments.
2020-01-20 03:03:02 +01:00
gambas
191db990d8 Add support for VarPtr() on variant variables.
[GB.JIT]
* NEW: Add support for VarPtr() on variant variables.
2020-01-18 08:17:14 +01:00
gambas
ad3ce9b21e Fix VarPtr() error message.
[INTERPRETER]
* BUG: Fix VarPtr() error message.
2020-01-18 05:39:33 +01:00
gambas
3829c3b9cb VarPtr() now works on variant variables, but the returned pointer may become valid if the variant datatype changes.
[INTERPRETER]
* NEW: VarPtr() now works on variant variables, but the returned pointer may become valid if the variant datatype changes.
2020-01-18 05:33:47 +01:00
gambas
4144d77b49 Fix static arrays management.
[GB.JIT]
* BUG: Fix static arrays management.
2020-01-17 23:51:54 +01:00
gambas
ba221177da Fix call of special methods _read() and _write().
[INTERPRETER]
* BUG: Fix call of special methods _read() and _write().
2020-01-14 03:49:03 +01:00
gambas
38450adece Make debugger output writes more robust.
[GB.DEBUG]
* BUG: Make debugger output writes more robust.
2020-01-11 09:59:47 +01:00
gambas
507f48ca61 Fix a possible memory leak when reading an object on a stream through its special _read() method fails.
[INTERPRETER]
* BUG: Fix a possible memory leak when reading an object on a stream through its special _read() method fails.
2020-01-09 18:31:56 +01:00
gambas
a7965ccee2 Fix a comment typo.
[COMPILER]
* BUG: Fix a comment typo.
2020-01-09 18:31:23 +01:00
gambas
85ded796c9 Fix release of return value of JIT methods called from non-JIT methods.
[INTERPRETER]
* BUG: Fix release of return value of JIT methods called from non-JIT methods.
2020-01-09 04:48:22 +01:00
gambas
e4a8ff5738 Workaround a gcc 8 compiler optimization bug.
[COMPILER]
* BUG: Workaround a gcc 8 compiler optimization bug.
2020-01-08 22:15:45 +01:00
gambas
46b3b16630 Application.ParentHandle is a new property that returns the parent process id.
[INTERPRETER]
* NEW: Application.ParentHandle is a new property that returns the parent process id.
2020-01-08 13:54:03 +01:00
gambas
2429cff72b Fix possible memory leaks when reading objects or variants with the READ instruction.
[INTERPRETER]
* BUG: Fix possible memory leaks when reading objects or variants with the READ instruction.
2020-01-07 02:34:40 +01:00
gambas
f0290255fe Opening a pipe for reading does not block anymore if the pipe has not been opened for writing yet.
[INTERPRETER]
* NEW: Add class name in 'incorrect symbol declaration' error message.
* NEW: Opening a pipe for reading does not block anymore if the pipe has not been opened for writing yet. It help synchronizing applications using the same pipe a lot!
2020-01-06 23:02:33 +01:00
gambas
87100b744a Check special methods return value datatype. Add '_invalid' special variable.
[INTERPRETER]
* NEW: Check special methods return value datatype and raise a dedicated error if it is incorrect.
* NEW: Error.Text, Error.Where and Error.Backtrace are now available inside the Application_Error handler.
* BUG: 'gbx3 -L' now displays the same Gambas version as 'gbx3 -V'.
* NEW: A class can declare a public '_invalid' boolean variable. The value of that variable will indicates if the object is invalid.
2020-01-04 22:11:29 +01:00
gambas
c797862f43 Object.Count() does not fail anymore if the object is invalid.
[INTERPRETER]
* NEW: Object.Count() does not fail anymore if the object is invalid.
2020-01-04 22:09:56 +01:00
gambas
ca0a224f6a Signals are now correctly unregistered if the program exits during a signal handler.
[INTERPRETER]
* BUG: Signals are now correctly unregistered if the program exits during a signal handler.
2020-01-04 22:09:13 +01:00
gambas
22072e5bee Do not crash anymore when analyzing a line that ends with a '{' character.
[GB.EVAL]
* BUG: Do not crash anymore when analyzing a line that ends with a '{' character.
2020-01-02 15:02:06 +01:00
gambas
63000a27fe WAIT NEXT is a new instruction that waits for the next event and process it.
[INTERPRETER]
* NEW: WAIT NEXT is a new instruction that waits for the next event and process it.

[COMPILER]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK3]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT4]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT5]
* NEW: Support for the new WAIT NEXT instruction.
2020-01-02 13:08:45 +01:00
gambas
a4ec3990e7 Memory-mapped component archives file descritors are now automatically closed when a child process is executed.
[INTERPRETER]
* BUG: Memory-mapped component archives file descritors are now automatically closed when a child process is executed.
2019-12-30 19:41:33 +01:00
gambas
b5affdfa60 Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
[GB.JIT]
* NEW: Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
2019-12-23 11:22:36 +01:00
gambas
b09ab39338 Function names can be put between parenthesis to disable possible warnings on them.
[COMPILER]
* NEW: Function names can be put between parenthesis to disable possible warnings on them.
2019-12-22 20:48:58 +01:00
gambas
15a7a7f4f3 Fix objet serialization.
[INTERPRETER]
* BUG: Fix objet serialization.
* NEW: Use one byte for writing the class name length when serializing objects.
2019-12-21 20:54:13 +01:00
gambas
f39ed34592 Serializing an object is not ambiguous anymore.
[INTERPRETER]
* BUG: Serializing an object is not ambiguous anymore.
2019-12-21 17:35:30 +01:00
gambas
3d956c269c '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
[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.
2019-12-21 17:03:42 +01:00
gambas
64be06797e Reading strings with the READ instruction when the NullTerminatedString property is set now works correctly on all streams.
[INTERPRETER]
* BUG: Reading strings with the READ instruction when the NullTerminatedString property is set now works correctly on all streams.
2019-12-20 00:29:07 +01:00
gambas
517266b4e4 Don't highlight Null as constant inside the new OPEN NULL syntax.
[GB.EVAL]
* NEW: Don't highlight Null as constant inside the new OPEN NULL syntax.
2019-12-18 07:26:43 +01:00
gambas
05cc5ee6e4 Forgot the new source file.
[INTERPRETER]
* BUG: Forgot the new source file.
2019-12-18 07:01:09 +01:00
gambas
3e0398dbd1 OPEN NULL is a new syntax that opens a null stream.
[INTERPRETER]
* NEW: OPEN NULL is a new syntax that opens a null stream. Reading always returns end of file, and writing does nothing except advancing the file pointer, allowing to know how many bytes were written.

[COMPILER]
* NEW: OPEN NULL is a new syntax that opens a null stream.
2019-12-18 06:59:21 +01:00
gambas
a0af9b3990 Fix some spaces in source code.
[GB.GEOM]
* BUG: Fix some spaces in source code.
2019-12-18 06:58:56 +01:00
gambas
2a6eaf8c8c Merge branch 'master' of gitlab.com:gambas/gambas 2019-12-18 06:34:42 +01:00
Benoît Minisini
53f83fb014 Forgot a semicolon.
[INTERPRETER]
* BUG: Forgot a semicolon.
2019-12-18 05:33:55 +00:00
gambas
4bca597638 Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
[INTERPRETER]
* NEW: Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
2019-12-18 06:29:33 +01:00
Benoît Minisini
6c1b9d6858 Really fix serialization of NULL values.
[INTERPRETER]
* BUG: Really fix serialization of NULL values.
2019-12-18 05:29:03 +00:00
gambas
c4b61aea83 Remove an old debugging message displayed when writing a pointer to a stream.
[INTERPRETER]
* BUG: Remove an old debugging message displayed when writing a pointer to a stream.
2019-12-18 06:22:26 +01:00
gambas
b98ca797e4 Fix serialization of NULL values.
[INTERPRETER]
* BUG: Fix serialization of NULL values.
2019-12-18 05:46:26 +01:00
gambas
b8ca134643 Reading a string on a memory stream now correctly skip the terminating null byte.
[INTERPRETER]
* BUG: Reading a string on a memory stream now correctly skip the terminating null byte.
2019-12-16 13:32:49 +01:00
gambas
b092a95132 Fix static array management.
[COMPILER]
* BUG: Allow static arrays to be used with the point operator.

[INTERPRETER]
* BUG: Fix static array management. They are not read-only anymore. Only methods that want to modify the size of the array are forbidden, as well as the ReadOnly property.
2019-11-30 06:29:17 +01:00
gambas
61af540536 Disable some compiler warnings and remove unnecessary PACKED directives.
[INTERPRETER]
* BUG: Disable some compiler warnings that generate false positives.

[GB.GEOM]
* BUG: Remove unnecessary PACKED directives.
2019-11-15 23:53:25 +01:00
gambas
55d7f20d80 Allow initialization of variables associated with property declaration.
[COMPILER]
* NEW: Allow initialization of variables associated with property declaration.
* BUG: Correctly detect help comments in all cases.
2019-11-13 20:06:41 +01:00
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