Commit graph

2303 commits

Author SHA1 Message Date
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
gambas
4cd61da44e Fix Component.Version for libraries.
[INTERPRETER]
* BUG: Fix Component.Version for libraries.
2022-01-12 13:21:41 +01:00
gambas
135e54e7ab A task does not close its standard outputs anymore when its 'Read' or 'Error' events are not handled.
[INTERPRETER]
* NEW: A task does not close its standard outputs anymore when its 'Read' or 'Error' events are not handled.
2022-01-07 12:41:34 +01:00
gambas
52c5823669 Fix compilation of 'share/gb_system_temp.h' on non-Linux/BSD systems.
[INTERPRETER]
* BUG: Fix compilation of 'share/gb_system_temp.h' on non-Linux/BSD systems.
2022-01-07 11:38:46 +01:00
gambas
558f05fe21 Fix array and allocation management, so that allocating a byte array with a number of elements near the greatest integer does not crash anymore.
[INTERPRETER]
* BUG: Fix array and allocation management, so that allocating a byte array with a number of elements near the greatest integer does not crash anymore.
2021-12-09 23:50:41 +01:00
gambas
82301c82f9 Subroutine arguments that expect an Integer value now accept a Long without raising a type mismatch error.
[INTERPRETER]
* BUG: Subroutine arguments that expect an Integer value now accept a Long without raising a type mismatch error.
2021-12-09 02:18:12 +01:00
Benoît Minisini
f3ec57aa2b Merge branch 'master' into 'master'
Call get_nprocs on Cygwin like on Linux

See merge request gambas/gambas!249
2021-12-06 17:29:39 +00:00
gambas
c5174e185d The previous commit broke the the bit manipulation functions. Fix it.
[INTERPRETER]
* BUG: The previous commit broke the the bit manipulation functions. Fix it.
2021-11-09 00:10:54 +01:00
gambas
0ff81df085 AND, OR and XOR operators now work correctly when one of its argument is a Long and the other is not.
[INTERPRETER]
* BUG: AND, OR and XOR operators now work correctly when one of its argument is a Long and the other is not.
2021-11-08 23:54:28 +01:00
gambas
1f93b3723c Array classes can be used with the IS operator without being declared elsewhere first.
[COMPILER]
* BUG: Array classes can be used with the IS operator without being declared elsewhere first.
2021-11-08 12:25:58 +01:00
gambas
fa133a3c78 The output of 'msgfmt' executions is stored in log files, one by translation.
[COMPILER]
* NEW: The output of 'msgfmt' executions is stored in log files, one by translation.
2021-11-08 01:43:27 +01:00
gambas
35d87a91c1 Fix a memory leak when stopping a triggered timer.
[INTERPRETER]
* BUG: Fix a memory leak when stopping a triggered timer.
2021-11-06 15:17:38 +01:00
gambas
168b00a5d5 AvlTree: Clearing the tree now correctly frees all nodes.
[GB.DATA]
* BUG: AvlTree: Clearing the tree now correctly frees all nodes.
2021-11-05 20:11:24 +01:00
gambas
84e4bc2c71 Timer.Stop() now cancels a call to Timer.Trigger().
[INTERPRETER]
* NEW: Timer.Stop() now cancels a call to Timer.Trigger().
2021-11-05 18:39:35 +01:00