Commit graph

668 commits

Author SHA1 Message Date
gambas
d371614662 Correctly compile conversion from object to boolean.
[GB.JIT]
* BUG: Correctly compile conversion from object to boolean.
2018-08-17 01:04:53 +02:00
gambas
979e22f6e9 Correctly load classes from archives other than the main project one during JIT compilation.
[INTERPRETER]
* NEW: When creating a new class, set its component immediately if we know the archive it comes from.

[GB.JIT]
* BUG: Correctly load classes from archives other than the main project one.
2018-08-16 01:50:45 +02:00
gambas
6d35875a56 Correctly raise exceptions on the number of arguments of function calls.
[GB.JIT]
* BUG: Correctly raise exceptions on the number of arguments of function calls.
2018-08-15 08:37:25 +02:00
gambas
0b341e7c91 Compile optional arguments correctly.
[GB.JIT]
* BUG: Compile optional arguments correctly.
2018-08-15 00:01:51 +02:00
gambas
0297c1bafa Load classes without running the _init method, so that the JIT behaviour is closer to the interpreter behaviour.
[INTERPRETER]
* NEW: Add a JIT API for loading classes without running the _init method.

[GB.JIT]
* BUG: Load classes without running the _init method, so that the JIT behaviour is closer to the interpreter behaviour.
2018-08-14 16:46:55 +02:00
gambas
c569a234be Don't leak memory when converting an object to a boolean and correctly pop the arguments from the stack when propagating an exception.
[GB.JIT]
* BUG: Don't leak memory when converting an object to a boolean.
* BUG: Correctly pop the arguments from the stack when propagating an exception.
2018-08-14 12:15:04 +02:00
gambas
ad16238574 Correctly compile subroutines that return an unknown datatype.
[GB.JIT]
* BUG: Correctly compile subroutines that return an unknown datatype.
2018-08-14 10:57:49 +02:00
gambas
698e5dd948 Fix access to objects that can be invalid.
[GB.JIT]
* BUG: Fix access to objects that can be invalid.
2018-08-13 23:01:27 +02:00
gambas
7a129a8d83 Add support fot date variables.
[GB.JIT]
* NEW: Add support fot date variables.
2018-08-13 22:55:01 +02:00
gambas
ffa3cd0875 Correctly read pointer variables.
[GB.JIT]
* BUG: Correctly read pointer variables.
2018-08-13 00:36:33 +02:00
gambas
bdb60ecef7 Correctly compile long public constants.
[GB.JIT]
* BUG: Correctly compile long public constants.
2018-08-13 00:24:38 +02:00
gambas
9c1fa46558 Reading variants from memory is done correctly now.
[GB.JIT]
* BUG: Reading variants from memory is done correctly now.
2018-08-12 09:43:15 +02:00
gambas
a2123c7f27 Accesses to byte global variables are compiled correctly now.
[GB.JIT]
* BUG: Accesses to byte global variables are compiled correctly now.
2018-08-12 00:22:44 +02:00
gambas
0975e520db JIT: Handle function datatype by raising a type mismatch error.
[INTERPRETER]
* NEW: JIT: Add an API for throwing type mismatch errors.
* BUG: Raise a type mismatch error when converting a function to a variant. Don't panic anymore.

[GB.JIT]
* BUG: Handle function datatype by raising a type mismatch error.
2018-08-11 14:06:46 +02:00
gambas
f882946561 Fix conversions of NULL.
[GB.JIT]
* BUG: Fix conversions of NULL.
2018-08-11 07:55:08 +02:00
gambas
4e83422f20 Fix optional arguments management.
[INTERPRETER]
* NEW: Fix panic error message again.

[GB.JIT]
* BUG: Fix optional arguments management.
2018-08-10 14:22:49 +02:00
gambas
3966bfbca7 Fix compilation of variant values borrowings and NULL values conversions.
[GB.JIT]
* BUG: Fix compilation of variant values borrowings.
* BUG: Fix NULL values conversions.
2018-08-10 13:53:20 +02:00
gambas
5df6553247 Fix compilation of variant values releases.
[GB.JIT]
* BUG: Fix compilation of variant values releases.
2018-08-10 13:35:20 +02:00
gambas
4209cffa11 [INTERPRETER]
* NEW: Fix panic error message.

[GB.JIT]
* BUG: Load project classes before try to resolve a unknown symbol.
* BUG: Correctly restore the stack pointer in all cases at function exit.
2018-08-10 13:26:54 +02:00
gambas
acf401ba2d Correctly reset the stack pointer when releasing the stack in error handlers.
[INTERPRETER]
* BUG: Do not clear the 'super' field of the object value returned by NEW, as it does not fix actually anything.

[GB.JIT]
* BUG: Correctly reset the stack pointer when releasing the stack in error handlers.
2018-08-09 11:05:51 +02:00
gambas
bb34431646 Fix a crash in JIT relative to SUPER management.
[INTERPRETER]
* BUG: Clear the 'super' field of the object value returned by NEW.

[GB.JIT]
* BUG: Correctly reset EXEC_super in error catching.
2018-08-06 13:26:49 +02:00
gambas
bba1946700 The datatype of object symbols was incorrectly computed.
[GB.JIT]
* BUG: The datatype of object symbols was incorrectly computed.
2018-07-08 08:24:31 +02:00
gambas
e04ec717c7 JIT: Structures and static arrays have been implemented.
[INTERPRETER]
* NEW: JIT: Support for structures and static arrays.

[GB.JIT]
* NEW: Structures and static arrays have been implemented.
2018-07-07 14:54:23 +02:00
gambas
ed775d62d4 Correctly handle function values used as arguments.
[GB.JIT]
* BUG: Correctly handle function values used as arguments.
2018-07-07 00:58:55 +02:00
gambas
50dedeb8cb Don't use __attribute__((noreturn)), it makes gcc dizzy and slow as hell.
[GB.JIT]
* BUG: Don't use __attribute__((noreturn)), it makes gcc dizzy and slow as hell.
2018-07-05 07:15:23 +02:00
gambas
d3c93a05e4 Work on new JIT system continues.
[INTERPRETER]
* NEW: Abort if a stack mismatch is detected after a JIT function has been called.

[GB.JIT]
* NEW: The GB_JIT_CC environment variable allows to define the C compiler that will generate the code.
* OPT: Don't call the compiler through a shell anymore.
* NEW: Support for clang.
* BUG: Don't use the "," operator anymore to write JIT code.
* BUG: Correctly free stack when leaving a function whereas we are still inside a GOSUB.
* BUG: Declare all local variables and arguments as volatile as soon the function uses CATCH or FINALLY.
2018-07-05 07:10:31 +02:00
gambas
4a1c81d0aa Jit.Time is a new property that returns the time spent in JIT compilation, in seconds.
[INTERPRETER]
* NEW: Jit is a new static class that allows to deal with the JIT compiler.
* NEW: Jit.Time is a new property that returns the time spent in JIT compilation, in seconds.

[GB.JIT]
* NEW: Support for the Jit.Time property.
2018-07-03 00:52:19 +02:00
gambas
527702ea59 Subroutines returning something that are used as instructions correctly drop their return value now.
[GB.JIT]
* BUG: Subroutines returning something that are used as instructions correctly drop their return value now.
2018-07-02 22:37:33 +02:00
gambas
9cf443a04f [INTERPRETER]
* BUG: Take JIT code into account when displaying current position in DEBUG instruction.

[COMPILER]
* BUG: Fix subroutine metadata.
* BUG: Fix subroutine search function.

[GB.JIT]
* BUG: Fix string referencing.
* NEW: Implement date arrays accessors.
* BUG: Fix error management.
* BUG: Fix mathematic functions implementation.
* NEW: Support of functions with a variable number of arguments.
* BUG: Fix support of Long constants.
* BUG: Fix implementation of Collection array operator.
* BUG: Fix READ, EXEC, SHELL and DEBUG instructions.
* BUG: Fix VarPtr().
* BUG: Fix TRUE constant implementation.
2018-07-02 19:37:37 +02:00
gambas
5f4f12acf3 [COMPILER]
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.

[INTERPRETER]
* NEW: Support for the UNSAFE keyword.

[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
2018-06-29 00:10:31 +02:00
gambas
fe08dfa333 Work continues on new JIT system.
[INTERPRETER]
* NEW: JIT: Support for SUPER.
* NEW: JIT: Support for extern functions.
* NEW: Add a flag in Gambas functions to know if they are static or not.

[GB.JIT]
* NEW: Support for SUPER.
* NEW: Support for extern functions.
* BUG: Fix object arrays access.
* OPT: Optimization of Abs, Sgn, Int, Fix, and Pi subroutines.
2018-06-27 19:35:23 +02:00
gambas
ab3963c99c Fix some bugs detected by clang, and JIT code can now raise events.
[INTERPRETER]
* NEW: JIT: Support for event raising.
* BUG: Fix some bugs detected by clang.

[GB.JIT]
* NEW: Support for event raising.
* OPT: Some optimizations in jit code generation and compilation.
2018-06-25 19:17:44 +02:00
gambas
06d139920d Work continues on new JIT system.
[INTERPRETER]
* BUG: JIT: No need to support breakpoints.

[GB.JIT]
* BUG: No need to support breakpoints.
2018-06-23 01:37:06 +02:00
gambas
128b5de2f2 [INTERPRETER]
* NEW: JIT: Support for QUIT and STOP EVENT instructions.

[GB.JIT]
* NEW: Implement QUIT and STOP EVENT instructions.
2018-06-23 01:31:39 +02:00
gambas
6502645560 Work continues on new JIT system.
[INTERPRETER]
* BUG: JIT: Fix error handling when calling methods from JIT code.

[GB.JIT]
* NEW: Fix support of CATCH and FINALLY.
* NEW: Support for ON GOTO and ON GOSUB.
2018-06-22 04:49:05 +02:00
gambas
3bd9dca142 Work on new JIT system continues.
[INTERPRETER]
* NEW: JIT: Complex number support.
* NEW: JIT: LAST support.

[GB.JIT]
* BUG: Fix management of local variable declaration of translated functions.
* NEW: Support for WITH ... END WITH.
* NEW: JIT: Complex number support.
* NEW: JIT: LAST support.
2018-06-19 00:30:12 +02:00
gambas
4ef9c15a1b Support for CATCH and FINALLY.
[INTERPRETER]
* NEW: The NEW implementation routine takes its opcode as argument now, like other subroutines with a variable number of arguments.

[GB.JIT]
* OPT: Call subroutines using their static address. No significative performance gain was detected.
* NEW: Support for CATCH and FINALLY.
2018-06-16 01:12:13 +02:00
gambas
b9a83c8a10 Work continues on new JIT system.
[INTERPRETER]
* NEW: Support for error management in JIT methods.

[COMPILER]
* BUG: Fix Error() function metadata.

[GB.JIT]
* NEW: Support for error management.
* NEW: TRY instruction.
* BUG: Correct support of NULL.
2018-06-14 16:45:05 +02:00
gambas
5a1e3b48e9 Fix label generation again.
[GB.JIT]
* BUG: Fix label generation again.
2018-06-13 18:19:32 +02:00
gambas
08c772a290 Fix FOR EACH loops translation.
[GB.JIT]
* BUG: Panic if the stack is not void once a function has been translated.
* BUG: Fix FOR EACH loops translation.
2018-06-13 16:59:56 +02:00
gambas
b8198005db [BENCHMARKS]
* OPT: Little optimization in nbody benchmark.

[GB.JIT]
* BUG: Fix translation of loops.
* BUG: Fix label generation.
2018-06-13 16:55:25 +02:00
gambas
6b8afd0617 [COMPILER]
* BUG: Fix Left, Mid and Right subroutines metadata.

[GB.JIT]
* BUG: Fix function arguments management.
* BUG: Functions returning objects work correctly now.
* BUG: Fix internal control variables management.
2018-06-13 00:38:18 +02:00
gambas
c671adfd6b Work continues on new JIT system.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().

[GB.FORM.TERMINAL]
* BUG: Fix warning messages.

[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.

[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.

[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
2018-06-11 18:56:39 +02:00
gambas
4e50dec11d Work continues on new JIT system. Translation is now done at runtime.
[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.

[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
2018-06-09 22:42:35 +02:00
gambas
6712de717c Support for case sensitive schema names.
[GB.DB]
* BUG: Support for case sensitive schema names.

[GB.DB.POSTGRESQL]
* BUG: Support for case sensitive schema names.
2018-04-18 03:17:30 +02:00
gambas
87f546bb81 Correctly quote table names when using schemas.
[GB.DB]
* BUG: Correctly quote table names when using schemas.
2018-04-16 20:57:56 +02:00
gambas
4fdd272253 Correctly quote index fields when generating an UPDATE or DELETE request in Result.Save() and Result.Delete() methods.
[GB.DB]
* BUG: Correctly quote index fields when generating an UPDATE or DELETE request in Result.Save() and Result.Delete() methods.
2018-04-16 16:28:44 +02:00
gambas
e07ac2e4f2 Connection.LastInsertId is a new property that returns the value of the serial field used in the last inserted row.
[GB.DB]
* NEW: Connection.LastInsertId is a new property that returns the value of the serial field used in the last inserted row. It is supported on MySQL, PostgreSQL and SQLite3 only.
* BUG: Connection.Handle is correctly declared now.

[GB.DB.MYSQL]
* NEW: Support for Connection.LastInsertId.

[GB.DB.ODBC]
* NEW: Raise an error if Connection.LastInsertId is used.

[GB.DB.POSTGRESQL]
* NEW: Support for Connection.LastInsertId.

[GB.DB.SQLITE2]
* NEW: Raise an error if Connection.LastInsertId is used.

[GB.DB.SQLITE3]
* NEW: Support for Connection.LastInsertId.
2018-03-20 16:05:33 +01:00
gambas
900fee66d5 Update many project configuration files. 2018-03-16 14:13:21 +01:00
gambas
043229a013 Result.GetAll() is a new method that returns an array of the values of a specific field from each record.
[INTERPRETER]
* NEW: New API for reference a Gambas string.

[GB.DB]
* NEW: Result.GetAll() is a new method that returns an array of the values of a specific field from each record. It is about twice faster than the equivalent code written in Gambas.
2018-03-07 22:06:02 +01:00
gambas
d009f251ce Image.Invert() is a new method that inverts an image. It takes an optional boolean argument that indicates if the color hue must be kept.
[GB.IMAGE]
* NEW: Image.Invert() is a new method that inverts an image. It takes an optional boolean argument that indicates if the color hue must be kept.
2018-02-28 14:55:48 +01:00
gambas
6e06250946 Use a power of two as internal coordinate scale.
[GB.CLIPPER]
* NEW: Use a power of two as internal coordinate scale.
2018-02-22 04:30:25 +01:00
gambas
d5c096f71e Fix parsing of quoted identifiers.
[COMPILER]
* BUG: Fix parsing of quoted identifiers.

[GB.EVAL]
* BUG: Fix parsing of quoted identifiers.
2018-02-17 20:41:39 +01:00
gambas
e39cfbf9da Fix Min() and Max() arguments datatype static checks, and some little differences with compiler sources.
[COMPILER]
* BUG: Fix Min() and Max() arguments datatype static checks.

[GB.EVAL]
* BUG: Fix some little differences with compiler sources.
2018-02-17 16:44:38 +01:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
319fb7175d Correctly initialize Connection object from Connections collection when that connection has been switched between sqlite and non-sqlite type from the IDE.
[GB.DB]
* BUG: Correctly initialize Connection object from Connections collection when that connection has been switched between sqlite and non-sqlite type from the IDE.
2018-01-14 23:16:03 +01:00
gambas
ce6d6e7e96 A table cannot have two fields whose names only differ by case anymore.
[GB.DB]
* NEW: Remove the 'no_case' database driver flag.
* NEW: A table cannot have two fields whose names only differ by case anymore.
2018-01-08 13:12:15 +01:00
gambas
48b9e8ddad Highlight.Custom is a new constant that is the first integer constant that can be used for custom highlighting state.
[GB.EVAL]
* NEW: Highlight.Custom is a new constant that is the first integer constant that can be used for custom highlighting state.
2017-11-01 08:42:35 +01:00
gambas
12d51ca863 New syntax for octal numbers: "&Oxxx".
[COMPILER]
* NEW: New syntax for octal numbers: "&Oxxx".

[INTERPRETER]
* NEW: New syntax for octal numbers: "&Oxxx".

[GB.EVAL]
* NEW: New syntax for octal numbers: "&Oxxx".
2017-10-05 03:17:13 +02:00
gambas
a489f435e7 gb.notify: don't crash anymore when releasing watches.
[INTERPRETER]
* NEW: Add an API that returns the first element of a hash table.

[GB.NOTIFY]
* BUG: Don't crash anymore when releasing watches.
2017-09-21 18:15:37 +02:00
gambas
9f6ec453fa TextEditor: If the cusor is at the end of the line, keep it there when the line is rewritten by the syntax highlighter.
[GB.FORM.EDITOR]
* BUG: TextEditor: If the cusor is at the end of the line, keep it there when the line is rewritten by the syntax highlighter.
2017-09-15 00:28:24 +02:00
gambas
98259f1d71 SqlRequest.Where() method now implicitely uses the AND operator.
[GB.DB]
* NEW: SqlRequest.Where() method now implicitely uses the AND operator.
2017-09-15 00:27:32 +02:00
gambas
ce5780c916 Define an explicit accurate QImage constructor so that effect methods do not crash anymore.
[GB.IMAGE.EFFECT]
* BUG: Define an explicit accurate QImage constructor so that effect methods do not crash anymore.
2017-09-08 02:11:09 +02:00
gambas
bf48f40f5c [DEVELOPMENT ENVIRONMENT]
* NEW: Add support for gb.gui.qt.opengl.
* NEW: Update french translation.

[GB.GUI.QT.OPENGL]
* NEW: New Qt OpenGL switcher component.
2017-08-29 00:42:58 +02:00
gambas
0abba10995 Switcher component are now more clever, and support the lack of gb.qt4.
[INFORMER]
* NEW: Components now can include information for a list of alternatives component. The first one available will be included.

[GB.GUI]
* NEW: Includes information of the first available gui component.

[GB.GUI.OPENGL]
* NEW: Includes information of the first available gui OpenGL component.

[GB.GUI.QT]
* NEW: Includes information of the first available Qt component.

[GB.GUI.QT.WEBKIT]
* NEW: Includes information of the first available Qt webkit component.
2017-08-29 00:38:43 +02:00
gambix
fca930e139 [GB.TERM.FORM]
* OPT: Make the object placement more logical. the 0,0 pos now
       is the left corner after the border.
* NEW: Add the showmodal function
2017-08-26 20:25:52 +02:00
gambas
f45192abb2 Fix pseudo-terminal management again. Now processes run through a terminal set the ECHO flag, and do not clear the OCRNL flag.
[INTERPRETER]
* NEW: Initialize pseudo-terminals with ECHO and don't clear OCRNL flag. This is not compatible with previous versions, as now, by default, printing a NL will become CR+NL through the pseudo-terminal.
  But I didn't succeed in modifying the pseudo-terminal reliably once the child has started. It sometimes fails silently.
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.

[GB.TERM]
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.

[GB.FORM.TERMINAL]
* OPT: TerminalView: Reorder some tests in escape codes analyze.
* NEW: TerminalView: The mouse wheel now sends up and down keys when we are not in mouse mode, and if there is nothing to scroll.
2017-08-23 18:10:58 +02:00
gambas
69b4eb60c7 Remove a debugging message.
[GB.TERM]
* BUG: Remove a debugging message.
2017-08-22 01:15:11 +02:00
Benoît Minisini
04175a1ca6 Merge branch 'cygwin' into 'master'
Cygwin changes for 3.10.0

See merge request !3
2017-08-17 10:46:13 +00:00
Laurent Carlier
e78a7fae66 Add more generated files to .gitignore, remove them from the repository 2017-08-15 08:03:17 +02:00
bgermann
4331a20835 leave out features not available in Cygwin
[GB.TERM]
* NEW: use preprocessor to leave out features not available in Cygwin
2017-08-14 23:19:01 +02:00
Benoît Minisini
d42a49b57d [CONFIGURATION]
* NEW: Switch version to 3.10.90.

[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.


git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-07-24 18:53:33 +00:00
Benoît Minisini
82eddfd5c9 [CONFIGURATION]
* NEW: Remove all 'depcomp' files. Apparently they are not used anymore by autoconf.

[INTERPRETER]
* BUG: Fix some gcc 6 warnings.

[GB.DEBUG]
* BUG: Fix some gcc 6 warnings.

[GB.GTK]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.

[GB.GTK3]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.

[GB.IMAGE]
* BUG: Fix some gcc 6 warnings.


git-svn-id: svn://localhost/gambas/trunk@8101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-18 17:24:01 +00:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
61b5676b6a [GB.TERM]
* BUG: Fix local and control flags of terminal settings.


git-svn-id: svn://localhost/gambas/trunk@8048 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-07 22:35:34 +00:00
Benoît Minisini
d5f1ac948c [DEVELOPMENT ENVIRONMENT]
* NEW: Update french translation.
* NEW: Support for the new gb.term component.

[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.

[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.


git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-07 00:58:20 +00:00
Benoît Minisini
3a954eec2c [CONFIGURATION]
* BUG: Correctly detect update of svn database for generating trunk version file.


git-svn-id: svn://localhost/gambas/trunk@8005 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-30 11:16:28 +00:00
Benoît Minisini
b2b31e7fd0 [GB.INOTIFY]
* BUG: Don't assume inotify_add_watch() succeeds in all cases. The watched path may have been deleted after the watch has been created.


git-svn-id: svn://localhost/gambas/trunk@7996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-26 22:55:53 +00:00
Benoît Minisini
043ee62a7c [DEVELOPMENT ENVIRONMENT]
* NEW: Debugger: Use the 'gb.signal' component to send signals to debugged processes.
* BUG: Debugger: Correctly pause projects using an external terminal.

[GB.SIGNAL]
* NEW: Signal.Send() is a new method to send signals to processes. It is just a direct interface to the kill() system call.


git-svn-id: svn://localhost/gambas/trunk@7982 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-17 16:12:28 +00:00
Benoît Minisini
f79951fe9f [GB.DB]
* BUG: Connection.ApplyTemplate() now correctly handles a collation whose name is "default" in the template file.


git-svn-id: svn://localhost/gambas/trunk@7941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-10-29 01:38:56 +00:00
Benoît Minisini
cf467669a0 [GB.INOTIFY]
* BUG: Creating a watch with a null path now raises an error instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@7940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-10-29 01:35:40 +00:00
Benoît Minisini
60dff96936 [DEVELOPMENT ENVIRONMENT]
* NEW: Database connection: Now you can initialize a new database from the template of another connection of the project.


git-svn-id: svn://localhost/gambas/trunk@7850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-19 19:43:56 +00:00
Benoît Minisini
c019b07f40 [CONFIGURATION]
* NEW: Force symbolic link creation.

[GB.WEB]
* BUG: Fix Session.Keys for SQLite sessions.

[GB.IMAGE]
* BUG: Image.Desaturate() now works correctly on image alpha channel.


git-svn-id: svn://localhost/gambas/trunk@7847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-18 18:59:19 +00:00
Benoît Minisini
86fe572568 [GB.DB]
* BUG: Fix a memory leak in blob handling when using a PostgreSQL database.


git-svn-id: svn://localhost/gambas/trunk@7841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-16 17:25:46 +00:00
Benoît Minisini
5355d8b955 [DEVELOPMENT ENVIRONMENT]
* NEW: The run button has a pop-up menu button only if at least one argument list has been defined in the project properties.
* NEW: Project property dialog: if the argument lists order changes, the current argument list index follows.

[GB.FORM]
* NEW: MenuButton: If no arrow is visible, and if no menu is defined, then the MenuButton raises the Click event.

[GB.WEB]
* NEW: Session.Type defines which kind of session store to use. At the moment, two are implemented. Session.File (the old one), and Session.Sqlite (based on a sqlite database).

[GB.WEB.FORM]
* BUG: Remove some debugging messages.


git-svn-id: svn://localhost/gambas/trunk@7829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-22 22:12:35 +00:00
Benoît Minisini
62863d13f4 [GB.IMAGE]
* BUG: ImageStat() now return the correct dimenstions of JPEG images.


git-svn-id: svn://localhost/gambas/trunk@7813 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-10 02:09:55 +00:00
Benoît Minisini
7c4220f210 [GB.FORM]
* BUG: FileView: Enable/disable file watches on Show/Hide events.
* BUG: DirView: Enable/disable file watches on Show/Hide events.


git-svn-id: svn://localhost/gambas/trunk@7771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-07 14:28:09 +00:00
Benoît Minisini
535fa6bea3 [GB.INOTIFY]
* BUG: Forgot to commit a source file.


git-svn-id: svn://localhost/gambas/trunk@7768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-07 00:55:08 +00:00
Benoît Minisini
7fc3acc849 [GB.INOTIFY]
* BUG: Now you can create as many watches on the same path as you want.
* NEW: Consequently, the Watch[] static array accessor, that returned the watch associated with a path, had to be removed.
* NEW: The flags constants and the Watch.Events property are now associated with the Gambas events, not the internal inotify events.


git-svn-id: svn://localhost/gambas/trunk@7766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-06 23:03:28 +00:00
Benoît Minisini
f34f52b928 [INTERPRETER]
* NEW: New library management.

[COMPILER]
* NEW: New library management.


git-svn-id: svn://localhost/gambas/trunk@7592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-02-01 02:18:49 +00:00
Benoît Minisini
cf2abcd76a [GB.DB]
* BUG: Take case-sensitive databases like postgresql into account in index fields.


git-svn-id: svn://localhost/gambas/trunk@7564 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-01-08 14:41:23 +00:00
Benoît Minisini
39ed4dd89e [INTERPRETER]
* NEW: Support for custom expression evaluators.

[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
  IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
  provided that you allow it in the IsIdentifier() method.


git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-01-03 16:44:24 +00:00
Benoît Minisini
b9b46f3873 [CONFIGURATION]
* NEW: Add "-march=native" to the compilation flags. Maybe it could speed up then interpretrer a bit?

[DEVELOPMENT ENVIRONMENT]
* NEW: Connection editor: Update layout.
* NEW: Form editor: Clicking on the master selection selects the parent control.

[WEB SITE MAKER]
* NEW: Update for 3.8.4 version.

[GB.DB]
* BUG: Default values are now correctly taken into account by database templates.

[GB.DB.SQLITE3]
* BUG: Fix a possible uninitialized allocation of columns names.

[GB.UTIL]
* NEW: Class.Stat() class name argument now allows "../" in the name to search for classes in parent components.

[GB.WEB]
* NEW: Request.Language returns the main language requested by the HTTP client. This value can be directly assigned to System.Language.
* NEW: Session.Size returns the size of the session file in bytes.

[GB.WEB.FORM]
* NEW: Automatic management of favicon. The application favicon must be a file named "favicon.png" in the ".public" directory.
* NEW: The Align class for alignment constants.
* NEW: WebControl: Any control can raise a Message event now.
* NEW: The Message boxes now raise the "Message" event of the WebControl that opened the message box. If the event is not handled, then the event is raised by the WebForm of the control.
* NEW: The Select class for selection mode constants.
* BUG: WebComboBox: Define the default event.
* NEW: WebContainer: Indent is a new property that allows to add a left padding to the container.
* NEW: WebContainer: Extra children (those created after initialization) are now recreated with their event observer and event name, provided that the event observer is another WebControl.
* NEW: WebContainer: DeleteChildren() is a new method that deletes all container children.
* NEW: WebExpander: New container that implements an expander.
* NEW: WebForm: Teh application language now automatically switches to the language requested by the HTTP client.
* BUG: WebForm: Show() and ShowModal() method now raise the Open event.
* NEW: WebLabel: Add the Border property to the property list.
* NEW: WebLabel: Newlines in label text are automatically replaced by "<br>".
* NEW: WebTable: New control that implements an HTML table with automatic scrollbars. It gets its data through a Data event, and only displays the first hundred elements by default. A button allows to increase the number of displayed elements.
  The 'Mode' property allows to define the selection mode. When rows are selectable, an extra columns is added, with radion buttons on single selection mode, and checkboxes on multiple selection mode. The indexes of selected rows is returned by
  the 'Selection' property.
* BUG: Many fixes in the default stylesheet.


git-svn-id: svn://localhost/gambas/trunk@7536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-27 18:16:32 +00:00
Benoît Minisini
fca1fb8e0e [DEVELOPMENT ENVIRONMENT]
* BUG: Fix image selection when the allowed image root directory is the
  '.public' special directory.
* NEW: Replace 'WebformImage' property kind by 'WebImage'.
* BUG: Form editor: Fix automatic arrangement.
* NEW: Form editor: Allow background and foreground toolbar buttons for
  WebForms.
* BUG: WebImage can display SVG files too.

[GB.WEB.FORM]
* NEW: Add some new color constants to the Color class.

[GB.GEOM]
* NEW: Move the declaration of alignment constants there.
* NEW: Rect.Stretch() is a new method that stretches a rectangle so that it
  fits inside another rectangle frame while keeping its proportions.
* NEW: RectF.Stretch() is a new method that stretches a rectangle so that
  it fits inside another rectangle frame while keeping its proportions.


git-svn-id: svn://localhost/gambas/trunk@7505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-05 18:44:58 +00:00
Benoît Minisini
beeabd049f [DEVELOPMENT ENVIRONMENT]
* NEW: Put the WebView icon in the IDE.

[GB.FORM.EDITOR]
* OPT: Don't raise Cursor event if we are between calls to Begin / End or 
  during an undo or redo process.

[GB.GUI.QT.WEBKIT]
* NEW: No need to put the WebView icon there.


git-svn-id: svn://localhost/gambas/trunk@7367 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-29 15:03:16 +00:00
Benoît Minisini
afd98e3f55 [CONFIGURATION]
* NEW: Redraw many control icons.


git-svn-id: svn://localhost/gambas/trunk@7366 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-29 12:53:38 +00:00
Benoît Minisini
ade4524d67 [DEVELOPMENT ENVIRONMENT]
* BUG: Property sheet: Fix text property edit dialog.
* BUG: Property sheet: Double-clicking on read-only properties does not 
  open the text property edit dialog anymore.
  
[GB.DEBUG]
* BUG: Fix profiler error messages.
  
[GB.QT4]
* BUG: Startup forms with Visible property set to FALSE are not shown at
  startup anymore.
  
[GB.QT5]
* BUG: Startup forms with Visible property set to FALSE are not shown at
  startup anymore.


git-svn-id: svn://localhost/gambas/trunk@7355 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-27 15:11:50 +00:00
Benoît Minisini
0feacc4358 [GB.DBUS]
* BUG: Fix some memory leaks when using DBusObject and DBusVariant in a 
  method call or a reply.
* BUG: The message observer of a DBusObject may disappear while processing
  a message. Take that into account.


git-svn-id: svn://localhost/gambas/trunk@7352 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-27 02:39:16 +00:00
Benoît Minisini
966385aaa5 [GB.DB]
* BUG: Connections are now always searched in the main project archive.


git-svn-id: svn://localhost/gambas/trunk@7347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-26 08:45:31 +00:00
Benoît Minisini
efeed5e7a8 [GB.DB]
* BUG: Result in creation mode works again.


git-svn-id: svn://localhost/gambas/trunk@7335 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-24 15:03:09 +00:00