Commit graph

2316 commits

Author SHA1 Message Date
Benoît Minisini
56e9129f85 PROPERTY WRITE now declares a write-only property.
[INTERPRETER]
* NEW: Support for write-only properties.

[COMPILER]
* NEW: PROPERTY WRITE now declares a write-only property.
2022-08-01 22:03:54 +02:00
Benoît Minisini
cfd42c7186 Support for breakpoints inside project components.
[INTERPRETER]
* NEW: Support for breakpoints inside project components.

[GB.DEBUG]
* NEW: Support for breakpoints inside project components.
2022-07-27 01:04:31 +02:00
Benoît Minisini
0ef05fa1e9 Do not display class name '^' prefix in backtraces.
[GB.DEBUG]
* NEW: Do not display class name '^' prefix in backtraces.
2022-07-26 01:55:08 +02:00
Benoît Minisini
daa9c38517 Remove a now useless flag in the internal class structure. The exported name of a class does not overwrite the name field of the class structure anymore.
[INTERPRETER]
* NEW: Remove a now useless flag in the internal class structure.
* NEW: The exported name of a class does not overwrite the name field of the class structure anymore, fixing the stack backtrace.
2022-07-25 22:26:00 +02:00
Benoît Minisini
0c06ea3dc6 Adapt Assert.Ok() method to the new backtrace format.
[GB.TEST]
* BUG: Adapt Assert.Ok() method to the new backtrace format.
2022-07-23 23:26:58 +02:00
Benoît Minisini
d053ced083 Add an API to retrieve the last error message.
[INTERPRETER]
* NEW: Add an API to retrieve the last error message.
2022-07-23 15:40:08 +02:00
Benoît Minisini
21d9bd178e Display bytecode statistics in verbose, no background task mode.
[COMPILER]
* NEW: Display bytecode statistics in verbose, no background task mode.
2022-07-22 20:40:20 +02:00
Benoît Minisini
c78d7fb496 Add component name in debugger positions.
[INTERPRETER]
* NEW: Add component name in debugger positions.

[GB.DEBUG]
* NEW: Add component name in debugger positions.
2022-07-22 20:31:51 +02:00
Benoît Minisini
f0d3f2e8c3 'Signal[].Send()' is a new method for sending a signal.
[GB.SIGNAL]
* NEW: 'Signal[].Send()' is a new method for sending a signal. It's an alternative syntax to the 'Signal.Send()' method.
2022-06-20 01:37:54 +02:00
Benoît Minisini
7f182bff2f Replace a global variable by a function argument in CLASS_look() and CLASS_find() functions.
[INTERPRETER]
* NEW: Replace a global variable by a function argument in CLASS_look() and CLASS_find() functions.
2022-06-20 01:37:03 +02:00
Benoît Minisini
b9ec608cde Fix 'String[].FindSorted()' and 'String[].ExistSorted()' when using 'gb.Like' or 'gb.Match' comparison methods.
[INTERPRETER]
* BUG: Fix 'String[].FindSorted()' and 'String[].ExistSorted()' when using 'gb.Like' or 'gb.Match' comparison methods.
2022-06-14 02:24:32 +02:00
Benoît Minisini
178c665461 In 'gb.openssl', use the API instead of directly including interpreter header files.
[INTERPRETER]
* NEW: Add all comparison constants to 'gambas.h' API header file.

[GB.OPENSSL]
* BUG: Use the API instead of directly including interpreter header files. It breaks compilation on Ubuntu 22.10.1.
2022-05-28 18:51:48 +02:00
Benoît Minisini
33ec6b88e3 'GB.Every()' API now creates a timer that is ignored by the event loop.
[INTERPRETER]
* NEW: 'GB.Every()' API now creates a timer that is ignored by the event loop.
2022-05-26 20:47:52 +02:00
Benoît Minisini
d27cbb5d1f Application.Task is a new property that returns if we are executing a Task object.
[INTERPRETER]
* NEW: Application.Task is a new property that returns if we are executing a Task object.
2022-05-24 11:55:48 +02:00
Benoît Minisini
d92eeb618c Always flush buffered streams at exit even if the exit is immediate.
[INTERPRETER]
* BUG: Always flush buffered streams at exit even if the exit is immediate.
2022-05-24 11:54:46 +02:00
Benoît Minisini
c17f5a58f8 Add the branch to the version number when it comes from a 'VERSION' file.
[COMPILER]
* BUG: Add the branch to the version number when it comes from a 'VERSION' file.
2022-05-02 15:06:32 +02:00
Benoît Minisini
c771d1d316 QUIT now ends the process brutally. C++ static exit routines from unloaded shared libraries are not called anymore, avoiding the crash.
[INTERPRETER]
* BUG: QUIT now ends the process brutally. C++ static exit routines from unloaded shared libraries are not called anymore, avoiding the crash.
2022-04-28 23:39:42 +02:00
gambas
e07eb9b22f Allow errors to propagate from event handlers when the event is internally raised by the interpreter.
[INTERPRETER]
* NEW: Allow errors to propagate from event handlers when the event is internally raised by the interpreter.
  All events raised from a component written in Gambas through the Gambas API still do not propagate errors.
2022-04-15 16:33:13 +02:00
gambas
7d38878e70 Fix GB_Wait() calls as the meaning of its argument changed.
[INTERPRETER]
* BUG: Fix GB_Wait() calls as the meaning of its argument changed.
2022-04-13 02:24:55 +02:00
gambas
fe43102071 Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.
[INTERPRETER]
* NEW: Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.

[GB.DEBUG]
* NEW: Program exit now can be hold by the debugger to workaround a missing feature of the Gnome terminal.
2022-04-13 01:23:19 +02:00
gambas
b224cd3436 "Wait 0" is now an equivalent of "Wait" alone, but with processing of input events.
[INTERPRETER]
* NEW: "Wait 0" is now an equivalent of "Wait" alone, but with processing of input events.
2022-04-09 19:08:02 +02:00
gambas
740cff77aa 'Collection.Options' is a new property that allows to define the specific options of a connection.
[GB.DB]
* NEW: 'Collection.Options' is a new property that allows to define the specific options of a connection.
2022-04-09 13:30:01 +02:00
gambas
b744c7e193 Allow to ignore up to 8 processes in extern debugging mode.
[INTERPRETER]
* NEW: Allow to ignore up to 8 processes in extern debugging mode.
2022-04-08 03:21:32 +02:00
gambas
891edceeea The 'VERSION' file is taken into account again.
[COMPILER]
* BUG: The 'VERSION' file is taken into account again.
2022-04-08 02:31:22 +02:00
Christof Thalhofer
9689fa13f2 Tests for error handling
[DEVELOPMENT ENVIRONMENT]
*NEW: Tests for error handling
2022-03-27 12:44:45 +02:00
gambas
bee8cacf59 Line number in error message should now be correct when the faulty code spans on multiple lines.
[COMPILER]
* BUG: Line number in error message should now be correct when the faulty code spans on multiple lines.
2022-03-10 00:48:06 +01:00
Christof Thalhofer
280aa1a52f Merge branch 'master' of https://gitlab.com/gambas/gambas 2022-03-09 22:56:00 +01:00
Christof Thalhofer
48fc9bcbc3 Tests for local static variables
[DEVELOPMENT ENVIRONMENT]
*NEW: Tests for local static variables
2022-03-09 22:54:25 +01:00
gambas
7457b4de3f Fix Task.Wait() so that it restores SIGCHLD handler for GTK+ libraries, like Process.Wait().
[INTERPRETER]
* BUG: Fix Task.Wait() so that it restores SIGCHLD handler for GTK+ libraries, like Process.Wait().
* NEW: Task.Wait() now can take an optional timeout argument.
2022-03-09 14:25:22 +01:00
gambas
1794f4e072 Add <stdio.h> include to 'gb_system_temp.h', when there is no support for returning the number of CPUs.
[INTERPRETER]
* BUG: Add <stdio.h> include to 'gb_system_temp.h', when there is no support for returning the number of CPUs.
2022-02-21 16:14:31 +01:00
gambas
2d681e7fa8 Type analysis of bit operators now works correctly.
[COMPILER]
* BUG: Type analysis of bit operators now works correctly.
2022-02-19 11:30:28 +01:00
gambas
aa2ce32c41 Add ALIGN_IS_NORMAL() macro for alignment constants.
[GB.GEOM]
* NEW: Add ALIGN_IS_NORMAL() macro for alignment constants.
2022-02-18 09:06:35 +01:00
gambas
f677aef95c Fix backward-compatibility of serialization format.
[INTERPRETER]
* BUG: Fix backward-compatibility of serialization format.
2022-02-12 14:29:43 +01:00
gambas
dbd1091373 Try to make the new serialization format backward-compatible with the old one.
[INTERPRETER]
* BUG: Try to make the new serialization format backward-compatible with the old one.
2022-02-11 18:59:31 +01:00
gambas
5d1716aa0f Serialization now does not duplicate objects anymore. Fix Task.Wait().
[INTERPRETER]
* NEW: Serialization now does not duplicate objects anymore. Once an object
  is serialized, if it is encounter again, then it is seralized as a five
  bytes reference.
* BUG: Fix Task.Wait() that incorrectly used 'sleep' instead of 'usleep'.
2022-02-08 22:48:06 +01:00
gambas
9f39e674c2 Print constants (Null, True, False) with only the first letter in upper case.
[GB.DEBUG]
* NEW: Print constants (Null, True, False) with only the first letter in upper case.
2022-02-07 21:51:18 +01:00
gambas
e5a66e553e Add a '-F' option that converts a piece of form data into Gambas code.
[INTERPRETER]
* NEW: Update help text layout.

[COMPILER]
* NEW: Add a '-F' option that converts a piece of form data into Gambas code.
* NEW: Update help text layout.

[ARCHIVER]
* NEW: Update help text layout.

[INFORMER]
* NEW: Update help text layout.
2022-02-05 18:41:36 +01:00
gambas
d2eebaf136 The debugger and the profiler now can act inside components.
[INTERPRETER]
* NEW: Add a debugger API to allows debugging inside components.

[GB.DEBUG]
* NEW: New debugger command to toggle  debugging inside components.
* NEW: Support for profiling inside components.
2022-02-05 00:11:10 +01:00
gambas
0e5e63b678 '_lang' is a new static public special method that is called when 'System.Language' changes.
[INTERPRETER]
* NEW: '_lang' is a new static public special method that is called when
  'System.Language' changes. It allows you to reload the translations of
  the class.
2022-02-04 04:29:04 +01:00
gambas
9280365122 Debug.Signal() is a new method that signals a debugged gambas process with SIGUSR2 to ask him to pause.
[GB.DEBUG]
* NEW: Debug.Signal() is a new method that signals a debugged gambas
  process with SIGUSR2 to ask him to pause.
2022-02-02 20:57:31 +01:00
gambas
c1c14d0f8a Avoid race conditions with actual reads, when we need to PEEK all the bytes of a stream.
[INTERPRETER]
* BUG: If some data have been peeked on a stream, then the next reads will
  only return the peeked data until they all have been exhausted, and the
  Lof() function will return the number of peeked bytes yet to read.
2022-02-01 02:37:09 +01:00
gambas
691144bba9 Observer.Detach() is a new method that disconnects the observer from the observed object.
[INTERPRETER]
* NEW: Observer.Detach() is a new method that disconnects the observer from the observed object.
2022-02-01 02:05:19 +01:00
gambas
2a90e5f081 Fix a warning message.
[GB.DEBUG]
* BUG: Fix a warning message.
2022-02-01 01:22:02 +01:00
gambas
c26d257e9e Fix a possible crash in the child process termination handler.
[INTERPRETER]
* BUG: Fix a possible crash in the child process termination handler.
2022-02-01 01:21:13 +01:00
gambas
f75b23a834 The NEW operator now raises an error if the class following it is unknown.
[COMPILER]
* BUG: The NEW operator now raises an error if the class following it is unknown.
2022-01-29 18:46:36 +01:00
gambas
fc49ac6148 Forgot to commit a file. 2022-01-14 22:02:29 +01:00
gambas
05f9f95c1a 'Timer.Ignore' is a new property that tells the interpreter not to wait for the timer's end when exiting.
[INTERPRETER]
* NEW: 'Timer.Ignore' is a new property that tells the interpreter not to
  wait for the timer's end when exiting.
2022-01-14 21:29:55 +01:00
gambas
8ae88c2d04 Automatically disable timers when raising the 'Timer' event is impossible because the parent object is invalid.
[INTERPRETER]
* BUG: Automatically disable timers when raising the 'Timer' event is impossible because the parent object is invalid.
2022-01-14 19:16:11 +01:00
gambas
1cc4d42742 Add an API that returns if there is at least one active timer.
[INTERPRETER]
* NEW: Add an API that returns if there is at least one active timer.
2022-01-14 12:34:02 +01:00
gambas
3752a6acba 'Env.Copy()' is a new method that returns a copy of the environment as a string array.
[INTERPRETER]
* NEW: 'Args.Copy()' is a new method that is a synonymous of 'Args.All'.
* NEW: 'Env.Copy()' is a new method that returns a copy of the environment as a string array.
2022-01-12 22:13:02 +01:00