Commit graph

419 commits

Author SHA1 Message Date
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
Benoît Minisini
9834cc71d9 Merge branch 'clang' into 'master'
Make compilation with clang possible

See merge request gambas/gambas!27
2018-06-19 00:07:32 +00: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
bgermann
ff8a181667 Make compilation with clang possible
[CONFIGURATION]
* OPT: Compilation with clang is possible
2018-06-13 18:26:06 +02:00
gambas
83eed9707d Merge branch 'jit-with-c' 2018-06-13 00:45:19 +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
Tobias Boege
d44b4bd7f2 Chmod reads mode bit string correctly
[INTERPRETER]
* BUG: Fix off-by-one error in FILE_mode_from_string which couldn't read mode bits 's' and 't'
2018-06-12 13:40:44 +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
23081e47c6 Work continues on new JIT system. The "Fractal" example runs!
[INTERPRETER]
* NEW: Implement return value of JIT methods.
* NEW: Support for calling '.' operator from a JIT method.

[COMPILER]
* BUG: JIT: Fix detection of native arrays.
* BUG: JIT: Delete translated file if a class has no fast method anymore.
* BUG: JIT: Prefix JIT method with "jit_" to avoid possible conflicts.
* BUG: JIT: Fix variable initialization.
* NEW: JIT: Complete datatype support.
* NEW: JIT: Support for SWAP.
* NEW: JIT: Support for array operators.
* BUG: JIT: Fix arithmetic operators.
* NEW: JIT: Implement ME and "." operator.
* NEW: JIT: Complete GOSUB / RETURN support.
* NEW: JIT: Support for DIV and MOD operators. Not optimized yet.

[ARCHIVER]
* NEW: Put JIT translation in the archive.

[GB.JIT]
* NEW: Complete datatype support. Variant is not supported yet.
* NEW: Complete GOSUB / RETURN support.
* NEW: Support for ME and '.' operator.
2018-06-02 17:59:47 +02:00
gambas
714b77a10d Work on new JIT system continues.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.

[COMPILER]
* NEW: New '-j' option that disables just in time compilation.
* NEW: JIT: Support for private functions calls.
* NEW: JIT: Support for native arrays accessors.
* BUG: JIT: Fix loop support.
* NEW: JIT: Support for GOSUB.

[GB.JIT]
* NEW: GB_JIT_DEBUG is an environment variable that defines if JIT compilation debugging messages are printed.
* NEW: GB_JIT_CFLAGS is an environment variable that defines the JIT compilation flags. The default is "-O3".
* NEW: Support for native arrays accessors.
2018-06-01 03:50:42 +02:00
gambas
5219fc48d1 Work continues on new JIT system.
[COMPILER]
* BUG: JIT: Fix local variable referencing.
* NEW: JIT: Implement NEW operator and array accessors.

[INTERPRETER]
* NEW: Support for JIT NEW operator and array accessors.

[GB.JIT]
* NEW: Support for object datatypes.
* NEW: Implement NEW operator and array accessors.
2018-05-29 23:25:57 +02:00
gambas
83a2452acb Continue working on new JIT system.
[COMPILER]
* NEW: JIT: Support for FOR...TO...NEXT loops.
* NEW: JIT: Support for Len(), Left$(), Mid$(), and Right$().
* NEW: JIT: Subroutines return values are now hadled correctly.

[GB.JIT]
* NEW: Compile JIT code with -O3.
2018-05-29 03:43:23 +02:00
gambas
a2b64b190a Work on new JIT system continues.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.

[INTERPRETER]
* NEW: Remove old JIT stuff.

[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
2018-05-28 03:18:44 +02:00
gambas
d797a545b6 [COMPILER]
* NEW: Work on JIT continues...
* NEW: Better panic errors.

[INTERPRETER]
* NEW: Remove the old JIT stuff.
* NEW: Calls gb.jit at runtime if needed. If a fast function has no jit implementation, the bytecode version is used.
* NEW: Start defining the JIT interface needed by the JIT functions.
* NEW: The common static character buffer is now twice the size of the maximum symbol length, to avoid possible overflows.

[GB.JIT]
* NEW: Compilation starts to work.
* NEW: Debugging messages.
2018-05-26 16:50:00 +02:00
gambas
cdc6d47922 Work continues on new JIT system.
[COMPILER]
* NEW: Work continues on new JIT system.

[INTERPRETER]
* NEW: Make comparison operator true functions so that they can be called by the JIT code.
2018-05-25 21:01:38 +02:00
gambas
ebd8963617 Continue working on the new jit system.
[COMPILER]
* NEW: Continue working on the new jit system.
* NEW: Initial support for arithmetic instructions.
2018-05-24 00:31:58 +02:00
gambas
dfeb4243ab Continue working on the new jit system.
[COMPILER]
* NEW: Continue working on the new jit system.
2018-05-18 02:19:28 +02:00
gambas
4c38b0f5c3 RDir() now works correctly when browsing executable directories.
[INTERPRETER]
* BUG: RDir() now works correctly when browsing executable directories.
2018-03-16 14:02:58 +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
58ddc650ad Try to add some more static datatype analysis, but did not succed.
[COMPILER]
* NEW: Try to add some more static datatype analysis, but did not succed.
2018-03-03 03:14:11 +01:00
gambas
4ae717707e Forgot to commit the headers for MOD and DIV static datatype analysis.
[COMPILER]
* BUG: Forgot to commit the headers for MOD and DIV static datatype analysis.
2018-02-28 19:12:59 +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
2a4383b3ad Fix symbol table binary string comparison for non-ASCII characters.
[INTERPRETER]
* BUG: Fix symbol table binary string comparison for non-ASCII characters.
2018-01-16 09:53:38 +01:00
gambas
6018b475b6 Oct$() is a new functions that converts an integer to its octal representation.
[COMPILER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.

[INTERPRETER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
2017-10-05 04:11:00 +02:00
gambas
d2d36a7a76 Forgot to update the stream implementation structure in 'gambas.h'.
[INTERPRETER]
* BUG: Forgot to update the stream implementation structure in 'gambas.h'.
2017-09-27 21:31:10 +02:00
gambas
aa67ba1309 Rework the stream interface, so that the stream read & write methods just have to actually read or write the data.
[INTERPRETER]
* NEW: Rework the stream interface, so that the stream read & write methods just have to actually read or write the data.
2017-09-27 02:48:00 +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
fcfb16b779 [INTERPRETER]
* OPT: RDir() now does less stat() system calls, by assuming that the number of hard links of a directory is its number of sub-directories plus two.
  Scanning my home directory calls stat() about 640,000 times instead of 715,000 before. About a 10% gain.
2017-09-01 04:22:08 +02:00
Benoît Minisini
47aa838ba2 [DEVELOPMENT ENVIRONMENT]
* OPT: Editor: Some optimizations in identifier completion.
* NEW: Image editor: Add an opacity effect.
* NEW: Update backround images.

[WEBSITE MAKER]
* NEW: Update to 3.10 version.

[WIKI]
* NEW: The '{@classes}' command can take arguments to add custom classes to the list of classes.


git-svn-id: svn://localhost/gambas/trunk@8175 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-08-12 09:15:57 +00:00
Benoît Minisini
986e7eeb85 [INTERPRETER]
* NEW: Add an API that allows to create an array class before instanciating it.

[GB.DBUS]
* BUG: When marshalling from DBus to Gambas, create the array classes before instanciating them.


git-svn-id: svn://localhost/gambas/trunk@8173 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-08-07 13:51:33 +00: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
cfacf387ec [CONFIGURATION]
* NEW: Add a autoconf check for monotonic clock.

[INTERPRETER]
* BUG: Use a monotonic clock (if possible) to implement the WAIT instruction.


git-svn-id: svn://localhost/gambas/trunk@8138 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-05-26 00:20:40 +00:00
Benoît Minisini
c20cbb7972 [COMPILER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.

[INTERPRETER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
* BUG: The signal handler now loops until the signal pipe is void.


git-svn-id: svn://localhost/gambas/trunk@8129 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-04-27 13:18:35 +00:00
Benoît Minisini
5e49bfbd90 [GB.DB.SQLITE2]
* BUG: Make component compile with gcc 6.

[INTERPRETER]
* BUG: Include <cmath> instead of <math.h> for components written in C++, so that they compile with gcc 6.

[GB.GTK]
* BUG: Make component compile with gcc 6.

[GB.GTK3]
* BUG: Make component compile with gcc 6.

[GB.QT4]
* BUG: Make component compile with gcc 6.

[GB.QT5]
* BUG: Make component compile with gcc 6.


git-svn-id: svn://localhost/gambas/trunk@8088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-07 00:08:22 +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
f0f6dc3261 [INTERPRETER]
* BUG: Automatically restart mkfifo() and open() system calls when executing the PIPE instruction.


git-svn-id: svn://localhost/gambas/trunk@8053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:22:35 +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
1b673641f3 [INTERPRETER]
* BUG: Timer delay is now stored in 31 bits, and so can now be up to 2^31 - 1 milliseconds, i.e. about 24 days, 20 hours and 31 seconds.


git-svn-id: svn://localhost/gambas/trunk@7925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-10-05 15:28:40 +00:00
Benoît Minisini
236a3a191e [INTERPRETER]
* BUG: Define "__STDC_FORMAT_MACROS" macro in 'gb_common.h', so that C++ source files using '<inttypes.h>' compile even with old gcc versions.


git-svn-id: svn://localhost/gambas/trunk@7891 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-09-05 15:55:03 +00:00
Benoît Minisini
531e7c3e90 [GB.FORM]
* BUG: MenuButton: Take foreground color into account correctly.
* BUG: MenuButton: Clip text so that arrow is always clearly visible.
* BUG: MenuButton: Take the Design property into account correctly.


git-svn-id: svn://localhost/gambas/trunk@7864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-26 00:21:27 +00:00
Benoît Minisini
34df9f3d4c [INTERPRETER]
* NEW: When searching a relative path inside an archive, ignore trailing slashes: "foo/bar/" and "/foo/bar//" are now the same as "foo/bar".


git-svn-id: svn://localhost/gambas/trunk@7837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-13 14:58:28 +00:00
Benoît Minisini
d15a425953 [DEVELOPMENT ENVIRONMENT]
* NEW: Finish the redesign of the debug panel.

[INTERPRETER]
* BUG: Fix a stack mismatch leading to a crash in Eval() when an "Unknown symbol" error occurs.

[GB.FORM]
* BUG: SidePanel: The Hide event is now raised after the SidePanel has been actually hidden.


git-svn-id: svn://localhost/gambas/trunk@7754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-04 01:38:46 +00:00
Benoît Minisini
3ce6340a09 [INTERPRETER]
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.


git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-15 21:11:19 +00:00
Benoît Minisini
eb16cc10aa [INTERPRETER]
* BUG: Remove the redefinition of NULL constant in C++ sources.


git-svn-id: svn://localhost/gambas/trunk@7741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 21:20:13 +00:00
Benoît Minisini
e6c400c46c [INTERPRETER]
* BUG: Fix 'gambas.h' header for new version of gcc.


git-svn-id: svn://localhost/gambas/trunk@7715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-03 11:40:08 +00:00
Benoît Minisini
1db9d8df47 [INTERPRETER]
* NEW: Add a symbol table optimization that is disabled because it's not worth it.
* OPT: Force inlining of functions in symbol tables routines.
* OPT: A little optimization on routine string argument extraction.


git-svn-id: svn://localhost/gambas/trunk@7650 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 18:29:12 +00:00
Benoît Minisini
4c3370908c [COMPILER]
* NEW: Work on internal expression datatype analyze has continued.
* OPT: Compiling syntax trees is faster now.

[INTERPRETER]
* OPT: Analyzing objects a method or a property applies to is faster now.
* NEW: Remove an unused method in table symbol implementation.


git-svn-id: svn://localhost/gambas/trunk@7647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 01:27:31 +00:00
Benoît Minisini
5b75185c3a [COMPILER]
* OPT: Compile is now compiled with -O3 optimizations.
* OPT: Reserved words built-in symbol table is faster now.
* NEW: Initial support for expression datatype analyze. Some new errors are raised at compilation time, like using a string with the AND operator for example. The datatype analyzer is rougher than the IDE one because it is local to the compile class.
* OPT: Symbol table search is a bit faster.


git-svn-id: svn://localhost/gambas/trunk@7632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-14 01:40:50 +00:00
Benoît Minisini
c1eb854159 [CONFIGURATION]
* NEW: Detect the fstatat() system function.

[INTERPRETER]
* OPT: Dir() and RDir() are now 10-30% faster by using fstatat() and assuming that directories with just two hard links have no child directories (each sub-directory having one hard-link to its parent directory through the ".." entry).


git-svn-id: svn://localhost/gambas/trunk@7610 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-02-21 15:48:40 +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
7d435cf968 [COMPILER]
* BUG: Remove compiler debugging messages.


git-svn-id: svn://localhost/gambas/trunk@7546 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-01-03 17:21:34 +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
7723b72e66 [INTERPRETER]
* OPT: Subroutine table is faster to access now.
* OPT: Don't browse temporary directory at end if no temporary file has
  been used.


git-svn-id: svn://localhost/gambas/trunk@7469 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-11 03:40:50 +00:00
Benoît Minisini
217f075c8b [INTERPRETER]
* OPT: Collection access is faster now.
* OPT: LINE INPUT and INPUT are faster now.
* OPT: Conversions to Boolean, from and to Variant are faster now.


git-svn-id: svn://localhost/gambas/trunk@7440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-02 03:24:44 +00:00
Benoît Minisini
464f88e1fd [INTERPRETER]
* BUG: Debugger: Breakpoints now work correctly when some global variables 
  are declared after a function.


git-svn-id: svn://localhost/gambas/trunk@7314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-16 00:10:14 +00:00
Benoît Minisini
bdd864f41a [DEVELOPMENT ENVIRONMENT]
* BUG: Fix windows using icons not existing anymore.
* NEW: Add dark theme versions of some icons.

[INTERPRETER]
* NEW: "../xxx" now refers to a file located in the parent archive, not
  necessarily the main project archive. "../../xxx" refers to the 
  grand-parent archive, and so on. A component written in Gambas that 
  receives a relative path is supposed to prefix it with "../" if he wants 
  to access it. Please report any incompatibility!
* NEW: File.IsRelative() is a new method that returns if a file is 
  relative, i.e. if it does not starts with '/' or '~'.
  
[GB.FORM]
* NEW: The Stock class does not use the Picture cache anymore. It is 
  useless as normally the Stock class is accessed from the Picture[]
  method.

[GB.FORM.MDI]
* BUG: When browsing actions, do not try to load an icon for actions that
  do not have one.

[GB.GTK]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
  
[GB.GTK3]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
  
[GB.GUI.BASE]
* NEW: The Picture[] array accessor and the Picture.Flush() method are now 
  implemented in that component.
* NEW: Remove support for theme specific icons.
* NEW: Add support for right-to-left specific icons. For example, if an
  icon is named 'abc-ltr.png', then it will be considered as a 
  'left-to-right' icon, and the 'abc-rtl.png' icon will be used if the 
  current langauge is right-to-left written.
* NEW: Add support for dark theme specific icons. An icon named 
  'abc-dark.png' will be the dark theme version of the 'abc.png' icon.

[GB.QT4]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
* NEW: Message boxes do not support theme specific icons automatically 
  anymore.
  
[GB.QT5]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
* NEW: Message boxes do not support theme specific icons automatically 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@7304 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-12 23:21:44 +00:00
Benoît Minisini
fdc7aa5b9f [INTERPRETER]
* BUG: Forgot to commit some files.


git-svn-id: svn://localhost/gambas/trunk@7181 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-12 09:40:57 +00:00
Benoît Minisini
417bfb8685 [INTERPRETER]
* NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer
  to the internal GB_VALUE slot where GB.ReturnXXX() functions store the
  return value.
* NEW: Allow a component to declare a GB_AFTER_INIT() exported method that
  is called just after all the components declared in the project are 
  completely loaded.
  
[GB.DBUS]
* NEW: DBus._HasSystemTray() is a new method that returns if the DBus 
  system tray is present. That method is used by the 'gb.gui.trayicon'
  component to know if 'gb.dbus.trayicon' must be loaded.
* BUG: Fix xml introspection analysis.

[GB.DBUS.TRAYICON]
* BUG: Remove debugging messages.
* BUG: TrayIcon icon data is sent correctly now.

[GB.GUI.TRAYICON]
* NEW: New component that you must check if you want to have system tray
  icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can
  load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to
  declare the old system tray implementation classes.

[GB.GTK]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.

[GB.GTK3]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.

[GB.QT4]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.

[GB.QT5]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.


git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-03 22:18:58 +00:00
Benoît Minisini
930c7549d1 [INTERPRETER]
* NEW: Add a new GB.Component.Declare() API, that allows a component to
  dynamically register a class description.

[INFORMER]
* NEW: A component now can declare classes through a GB_OPTIONAL_CLASSES 
  public symbol. Theses classes are included into the information file,
  but are not automatically loaded as the ones defined through the 
  GB_CLASSES symbol.

[GB.FORM.STATUSICON]
* NEW: This component has been removed and replaced by gb.dbus.trayicon.
* NEW: This component now provide TrayIcon and TrayIcons classes that have
  exactly the same interface as the old ones.

[GB.DBUS]
* NEW: Remove the now useless DBusConnection.Raise(). The DBusConnection
  Register() and Unregister() are kept for backward-compatibility reason.
* NEW: Add DBus.Raise() and DBus[].Raise() to raise signals. At the moment,
  there is no difference between the two methods, as there no mean to
  indicate the sender raising a signal. I don't know yet how DBus decides
  which service sends a signal!

[GB.DBUS.TRAYICON]
* NEW: This component implements the tray icon DBus protocol. It is 
  automatically loaded by the GUI components.

[GB.GTK]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.GTK3]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the component name in deprecation warning messages.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.QT4]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.

[GB.QT5]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.


git-svn-id: svn://localhost/gambas/trunk@7154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-29 01:46:51 +00:00
Benoît Minisini
29fe0bc6a6 [INTERPRETER]
* NEW: GB.GetProperty() API now returns the property value as a GB_VALUE 
  pointer, or NULL if the property could not be read.

[GB.DB.POSTGRESQL]
* BUG: Fix a compilation warning.

[GB.DBUS]
* NEW: DBusVariant.Signature is now a constant, not a property anymore.
* NEW: DBusVariant() static method has been removed.
* NEW: DBusVariant.Value is now writable.
* NEW: DBusVariant now can be inherited. Use the value of the Signature 
  constant for introspection of methods and properties using a child class
  of DBusVariant.
* BUG: Show the org.freedesktop.DBus.Peer interface in introspection.
* BUG: The org.freedesktop.DBus.Properties.GetAll method now works 
  correctly.
* BUG: Correctly handle array datatypes.
* BUG: Correctly marshall DBus structures and arrays.
* BUG: Correctly handle NULL values.

[GB.FORM.EDITOR]
* BUG: TextEditor: Better detect cursor position when clicking in the 
  editor with the mouse.

[GB.FORM.STATUSICON]
* NEW: New component that provides a StatusIcon that is a TrayIcon using 
  the Status Notifier DBus specification (i.e. the new protocol). It should
  only works with KDE at the moment.

[GB.IMAGE]
* NEW: Implement all possible image format conversions.


git-svn-id: svn://localhost/gambas/trunk@7150 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-27 21:26:32 +00:00
Benoît Minisini
4c38879e22 [DEVELOPMENT ENVIRONMENT]
* BUG: Text editor: Compression correctly marks the file as modified.
* NEW: Take gb.qt5 into account in the help system.

[WIKI CGI SCRIPT]
* NEW: Take gb.qt5 into account.

[INTERPRETER]
* NEW: GB.Component.IsLoaded() is new interpreter API that returns if a
  specific component has been loaded.
* BUG: Running executables from an absolute path works again.

[GB.DESKTOP]
* BUG: DesktopWatcher: Use Desktop.Windows.FromHandle() instead of 
  Desktop.Windows[].

[GB.DESKTOP.X11]
* NEW: Support for gb.qt5.
  
[GB.FORM.EDITOR]
* BUG: TextEditor.Save() highlights the current line before saving.

[GB.QT5]
* NEW: Support for X11 event filter by translating xcb event into xlib 
  events.
* BUG: Cached DrawingArea works correctly now.


git-svn-id: svn://localhost/gambas/trunk@7099 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-27 01:00:39 +00:00
Benoît Minisini
cb3c488454 [INTERPRETER]
* NEW: New error constant in API header.


git-svn-id: svn://localhost/gambas/trunk@7066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-10 10:42:24 +00:00
Benoît Minisini
43f26cd8ff [CONFIGURATION]
* NEW: gb.qt5 component.

[EXAMPLES]
* BUG: Fix WebBrowser example.

[INTERPRETER]
* NEW: Fix compilation of EXEC and SHELL for older bytecode versions.

[GB.DB.FORM]
* NEW: Display the busy mouse cursor while loading SQL data.

[GB.QT4]
* NEW: Support for QT5.

[GB.QT5]
* NEW: Initial version of the QT5 component. Not everything is working. 
  There is no Embedder and TrayIcon controls.


git-svn-id: svn://localhost/gambas/trunk@7062 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-08 17:40:28 +00:00
Benoît Minisini
b1447607f2 [INTERPRETER]
* NEW: Add end-of-line format constants to the interpreter API.

[GB.QT4]
* BUG: If a control triggers the arrangement of its parent contents, the 
  delayed visibility is realized so that the control is taken into account 
  by the arrangement routine.

[GB.QT4.EXT]
* NEW: Editor.EndOfLine is a new property that defines which end-of-line 
  format (gb.Unix, gb.Windows or gb.Mac) is used when retrieving text from 
  the control.


git-svn-id: svn://localhost/gambas/trunk@6882 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-02-03 23:45:41 +00:00
Benoît Minisini
cb63d9ef1f [CONFIGURATION]
* NEW: Support for GNU/Hurd.

[INTERPRETER]
* NEW: Support for GNU/Hurd.

[GB.NET]
* NEW: Support for GNU/Hurd.


git-svn-id: svn://localhost/gambas/trunk@6847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-21 00:52:56 +00:00
Benoît Minisini
2599961aca [DEVELOPMENT ENVIRONMENT]
* NEW: Get rid of the new warnings.
* NEW: Support for arguments without a datatype in function signatures.
* NEW: [ALT] + any brace character is a new editor shrotcut that add or 
  remove braces around the current word. Same thing for [ALT] + [<] or [>].
* NEW: Property editor: Add a clear button. Replace the MenuButton by a
  normal ComboBox.

[INTERPRETER]
* NEW: Support for the new '*.list' file format.

[COMPILER]
* NEW: New '*.list' file format that marks classes having static elements.
* NEW: A warning is emitted when a class having static elements is 
  overriden by a declaration. This is suspicious.
* NEW: A symbol in a local variable declaration, or a global variable or 
  property declaration can now be surrounded by braces to prevent a 
  possible warning.

[GB.FORM]
* NEW: Get rid of the new warnings.
* NEW: TabPanel[].Closable is a new property that defines if a specific tab
  has a close button.

[GB.FORM.MDI]
* NEW: Workspace: Try to minimize flickering during resizing. Not very
  successful.


git-svn-id: svn://localhost/gambas/trunk@6838 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-16 00:31:59 +00:00
Benoît Minisini
655f3474c7 [INTERPRETER]
* NEW: The process child errors raised before the exec() system call are 
  now catched in a separate function called by the compiler explicitly 
  after a SHELL or EXEC assignment.

[COMPILER]
* NEW: SHELL and EXEC assignments now call an hidden subroutine just after
  the assignment to immediately check for a possible child error.


git-svn-id: svn://localhost/gambas/trunk@6681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-27 23:31:51 +00:00
Benoît Minisini
e4cd9bce1b [DEVELOPMENT ENVIRONMENT]
* BUG: Some fixes in the software farm window.

[INTERPRETER]
* NEW: Remove the GB.UnrefKeep() interpreter API, as it is not used 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@6676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-24 12:43:57 +00:00
Benoît Minisini
dd41b47ef3 [DEVELOPMENT ENVIRONMENT]
* NEW: The structure of databases is now stored in the *.connection files.
  It will be used for an automatic database initialization feature.

[WEBSITE MAKER]
* NEW: Update for 3.6.2.

[WIKI CGI SCRIPT]
* BUG: Fix the display of page without headers.
* NEW: Indexes are now displayed on two or more columns.

[INTERPRETER]
* NEW: New GB.AllocZero() API for allocating memory and filling it with 
  zeros.

[GB.DB.MYSQL]
* OPT: Cache metadata queries during 30 secondes to speed up things.

[GB.FORM]
* NEW: MenuButton displays a focus rectangle now.

[GB.GUI.BASE]
* BUG: ProgressBar now raises native control events.


git-svn-id: svn://localhost/gambas/trunk@6652 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-16 21:40:47 +00:00
Benoît Minisini
5b930daea7 [INTERPRETER]
* NEW: Support for the new USE instruction.

[COMPILER]
* NEW: A class header now can include USE "xxxx" declarations, where "xxxx"
  is a component name. It means that the specified component will be loaded
  when the class is initialized, the first time it is loaded.


git-svn-id: svn://localhost/gambas/trunk@6648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-12 22:25:37 +00:00
Benoît Minisini
0c2a60085c [WIKI CGI SCRIPT]
* NEW: Help comments of component classes and symbols are now automatically 
  used for creating non-existing documentation pages.
* NEW: Images are clickable in editing mode. They point at the image wiki 
  page.

[INTERPRETER]
* NEW: Url$() is a new function to encode an URL.
* NEW: FromUrl$() is a new function to decode an URL.
* NEW: FromBase64$() is now a synonymous for UnBase64$().

[GB.MEDIA]
* BUG: MediaPipeline.Pause() does nothing if the media is not playing. That
  avoid some GStreamer bad behaviour.

[GB.MEDIA.FORM]
* NEW: MediaView: Remove the ShowVideo property, it is useless.
* NEW: MediaView: The URL property can receive a true URL or a file path.
  The conversion is automatically done.
* BUG: MediaView: Do pause or stop the media file only if it has sense.
* NEW: MediaView: Hide the video part if the control height is too low.


git-svn-id: svn://localhost/gambas/trunk@6617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-09 15:25:46 +00:00
Benoît Minisini
d57578377c [DEVELOPMENT ENVIRONMENT]
* BUG: Don't use "sTable" as field name for the metadata table, because 
  apparently "STABLE" is a reserved word in PostgreSQL. Upgrade an already
  existing metadata table automatically.
* BUG: Don't crash when starting a search from a image or connection 
  editor.

[WEBSITE MAKER]
* NEW: Update for 3.6.

[GB.DB]
* NEW: Add support for databases like PostgreSQL that are not fully case 
  insensitive.

[GB.DB.POSTGRESQL]
* BUG: Automatically convert field names to lowercase when creating a 
  table.

[GB.GUI.BASE]
* BUG: IconView item renaming don't crash anymore.


git-svn-id: svn://localhost/gambas/trunk@6559 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-18 13:23:29 +00:00
Benoît Minisini
065e2c48b7 [DEVELOPMENT ENVIRONMENT]
* BUG: Clicking on the paste button correctly set the focus back to the 
  editor.

[WEBSITE MAKER]
* BUG: Fix pages not located in the wiki.

[EXAMPLES]
* BUG: PhotoTouch: Fix the example.

[COMPILER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.

[INTERPRETER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.
* BUG: Displaying a Result object in the debugger does not crash anymore.
* NEW: The GB.Realloc() API now calls GB.Alloc() if the pointer to 
  reallocate is null.

[GB.FORM]
* NEW: DateChooser: Make the time font size a little bit smaller.


git-svn-id: svn://localhost/gambas/trunk@6512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-26 21:52:42 +00:00
Benoît Minisini
a3c59253f6 [INTERPRETER]
* BUG: The PUSH CHAR byte code now works correctly with ASCII code greater 
  than 127.


git-svn-id: svn://localhost/gambas/trunk@6481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-16 01:10:58 +00:00
Benoît Minisini
d67d170b61 [DEVELOPMENT ENVIRONMENT]
* BUG: Convert to uppercase or lowercase now works as expected in the code 
  editor.
* BUG: Fix the offline 'To Do' and 'Last Changes' page.

[INTERPRETER]
* NEW: Add GB_DECLARE_STATIC() macro to declare native classes, and use it 
  in many class declarations.

[GB.FORM]
* NEW: Add an history in the FileChooser and DirChooser controls.
* NEW: Add a 'link' stock icon.

[GB.GUI.BASE]
* BUG: IconView: Fix mouse handling during rubberband selection.
* NEW: IconView: Use a lighter selection colour.
* BUG: ScrollArea: Shadows are now correctly drawn whatever is done during 
  the Draw event it raises.


git-svn-id: svn://localhost/gambas/trunk@6458 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-07 21:21:14 +00:00
Benoît Minisini
7962dad8e5 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new WebSettings.Cache.Clear() method.
* BUG: Fix project lists layout when they are filtered.

[WIKI CGI SCRIPT]
* BUG: Workaround the thttpd cgi interface bug.

[INTERPRETER]
* NEW: A new API for browsing a directory recursively.
* NEW: Js$() is a new function that quotes javascript strings.

[GB.FORM]
* BUG: ColorChooser: Don't memorize custom colors spuriously.

[GB.GUI.BASE]
* BUG: GridView: Don't take hidden columns into account when layouting 
  expanded columns.


git-svn-id: svn://localhost/gambas/trunk@6447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-03 14:33:18 +00:00
Nigel Gerrard
e0b9fc1eac [CONFIGURATION]
* BUG: Set Cygwin Shared Library Extension to dll

[GB.JIT]
* NEW: Add conditional defines for Cygwin to allow compile:
  Use finite in place of _finite, __isnand in place of __isnan
  and __isinfd in place of __isinf.

* NEW: Remove jit_gambas_pass_dummy.cpp as this is no longer
  required to compile with later versions of llvm. Also fixes
  issue with Cygwin compile.

[GB.NET]
* NEW: Redefine TIOCOUTQ for Cygwin

[GB.SDL.SOUND]
* NEW: -lSDL needed for Cygwin linker

[INTERPRETER]
* NEW: Redefine FIONREAD for Cygwin

* NEW: Cygwin needs <strings.h> to avoid compiler issues when
  redefining strcasecmp etc.
 
[DEVELOPMENT ENVIRONMENT]
* NEW: Make the environment Cygwin aware



git-svn-id: svn://localhost/gambas/trunk@6435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-28 13:50:09 +00:00
Benoît Minisini
c3609f3de3 [INTERPRETER]
* BUG: Fix Swap$() function.


git-svn-id: svn://localhost/gambas/trunk@6426 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-23 15:10:11 +00:00
Benoît Minisini
5155796342 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the custom browser support.
* NEW: Add Chromimum to the list of browsers.

[INTERPRETER]
* NEW: GB.GetProperty() and GB.SetProperty() API now return TRUE when they
  have raised an error. FALSE is everything was ok.

[GB.FORM.MDI]
* NEW: Redesign the shortcuts configuration dialog.
* NEW: Shortcuts now can be exported and imported.

[GB.GTK]
* BUG: DrawingArea: Clipping is correctly established now before raising
  the Draw event.
* BUG: Keyboard events have been fixed. Key array accessor and Key.Code now
  behave the same way as in gb.qt4.
* BUG: The Key.Meta property works correctly now.
* BUG: Now keyboard events seem to be sent twice by GDK. Found a workaround
  for that new weird behaviour.
* BUG: Automatic window minimum size now works correctly.
* BUG: Windows can take focus as in gb.qt4.

[GB.GUI.BASE]
* BUG: GridView: Do not use Draw.Clip to preserve the clipping of the Draw 
  event. Otherwise you get drawing artifacts with gb.gtk.
* BUG: GridView: Setting the column width to -1 is taken into account by 
  the layout routine.


git-svn-id: svn://localhost/gambas/trunk@6306 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-08 11:54:07 +00:00
Benoît Minisini
dc8b1aeaf3 [WIKI]
* NEW: Allows last changes to be displayed for everyone.
* NEW: Display last changes as a table with links.

[GB.FORM]
* BUG: Draw.Line() correctly takes into account the LineStyle property in
  all cases now.
* BUG: Fix the dash patterns used for implementing the Draw.LineStyle 
  property.


git-svn-id: svn://localhost/gambas/trunk@6296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-31 19:47:06 +00:00
Benoît Minisini
bdbf3ac7d5 [INTERPRETER]
* OPT: Define the TZ environment variable at startup if it not defined to
  prevent the glibc to stat the '/etc/localtime' file again and again.
* OPT: Cache the last value of System.TimeZone during at most 10 minutes.

[GB.FORM]
* OPT: Implement a directory cache to minimize the number of calls to the
  Stat() function.

[GB.SETTINGS]
* BUG: Do not mark the settings file as modified if the stored value is not
  really changed.


git-svn-id: svn://localhost/gambas/trunk@6290 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-26 23:03:06 +00:00
Benoît Minisini
7abbd5e799 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't check conflict on project configuration file if that files 
  does not exist.

[INTERPRETER]
* OPT: Move the string splitting routine in its own file and optimize it.

[INFORMER]
* BUG: Remove unneeded parenthesis on a test.

[GB.CLIPPER]
* BUG: Remove an unused variable.

[GB.DESKTOP]
* BUG: Fix error message in DesktopMime.

[GB.FORM]
* BUG: MaskBox: Raise the Change event after moving the cursor, so that it 
  behaves exactly like a TextBox.

[GB.FORM.MDI]
* NEW: Workspace: Count the number of detached windows so that the "detach 
  current tab" menu entry is disabled when needed.

[GB.GTK]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.GTK3]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.NET.PO3]
* NEW: Add a void constructor to the Pop3Client class for the 
  documentation.


git-svn-id: svn://localhost/gambas/trunk@6285 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-23 11:52:04 +00:00
Benoît Minisini
1526d60303 [INTERPRETER]
* NEW: Rand() is a new function that returns an integer random number.
  Rand(X) returns a integer random number between 0 and X included.
  Rand(X,Y) returns a integer random number between X and Y included.
* BUG: System.TimeZone now returns the accurate value, i.e. the number of 
  seconds that must be *added* to go to UTC.


git-svn-id: svn://localhost/gambas/trunk@6282 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-21 08:35:34 +00:00
Benoît Minisini
4c739969ef [COMPILER]
* NEW: IsMissing() is a new function that returns if an optional argument 
  is missing. It always returns FALSE on a non-optional argument.

[INTERPRETER]
* NEW: Support for IsMissing().


git-svn-id: svn://localhost/gambas/trunk@6258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-08 15:10:21 +00:00
Benoît Minisini
3f9d37a858 [INTERPRETER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.

[COMPILER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.


git-svn-id: svn://localhost/gambas/trunk@6252 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-05 20:16:41 +00:00
Benoît Minisini
cbd63b46a8 [INTERPRETER]
* NEW: Support for the new '...' symbol usage in function calls.

[COMPILER]
* NEW: '...' can be used for passing all the variables arguments of the 
  current function to another function. The '...' symbol must be the last
  argument of the function call.


git-svn-id: svn://localhost/gambas/trunk@6251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-05 20:07:00 +00:00
Benoît Minisini
ea30c3ba1b [DEVELOPMENT ENVIRONMENT]
* NEW: Add a echo button in the output console, that echoes the entered 
  command.

[WIKI]
* NEW: Add a HTTP server requests graph.

[INTERPRETER]
* BUG: The debugger does not change the Key property of collections when
  displaying them.
* NEW: Collection.Key is writable now.

[GB.FORM]
* NEW: FontChooser: Always reset sample text at first use.
* BUG: FontChooser: Fix the behaviour when size changes.


git-svn-id: svn://localhost/gambas/trunk@6222 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 00:28:41 +00:00
Benoît Minisini
a167d0a1f2 [INTERPRETER]
* NEW: New LOCK ... WAIT ... syntax.

[COMPILER]
* NEW: New LOCK ... WAIT ... syntax.



git-svn-id: svn://localhost/gambas/trunk@6194 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-09 17:51:52 +00:00
Benoît Minisini
2daefc5fa0 [INTERPRETER]
* BUG: Fix maximum number of array declaration in the same class.
* NEW: Array and Collection constructor operator [ ... ] now can take any 
  number of arguments. It is only limited by the maximum function size, 
  which leads for example to about 32000 elements for a short array.


git-svn-id: svn://localhost/gambas/trunk@6110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-27 23:46:37 +00:00
Benoît Minisini
27c21ea450 [INTERPRETER]
* NEW: Support for the GB_PATH environment variable, that gives the Gambas
  interpreter path if set.


git-svn-id: svn://localhost/gambas/trunk@5918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-26 21:06:22 +00:00
Benoît Minisini
2261e6ef6d [DEVELOPMENT ENVIRONMENT]
* BUG: Add the description of 'gb.memcached' and 'gb.logging' components.
* NEW: Update error messages translation.

[INTERPRETER]
* NEW: Allow some error messages to be untranslatable by using a void macro
  named '$(...)' around the string.

[GB.FORM]
* BUG: The status of FileChooser and DirChooser toolbar icons is correctly
  initialized now.
* BUG: Reading the FileChooser.ShowPreview property does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@5912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-20 21:43:14 +00:00
Benoît Minisini
b60772bfad [INTERPRETER]
* BUG: Synchronize the 'gambas.h' header with the internal date management 
  changes of rev. #5871.


git-svn-id: svn://localhost/gambas/trunk@5873 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-12 07:11:39 +00:00
Benoît Minisini
678921ef40 [WIKI CGI SCRIPT]
* BUG: Fix the "search" link.

[INTERPRETER]
* NEW: Date() and Time() now takes the milliseconds as an extra optional 
  argument.
* BUG: Time() with one argument correctly converts it to a date.
* NEW: Date() and Time() now always check the range validity of their 
  arguments.

[GB.DB.FORM]
* NEW: DataControl does not change the background of mandatory field and 
  the font of primary key fields anymore.
* NEW: DateControl.Control is a new property that returns the underlying
  control used for editing the field data.

[GB.GUI.BASE]
* NEW: HSplit and VSplit have a new Border property that define if the 
  splitter separator is visible or not.
* NEW: HSplit and VSplit now take the Spacing property into account.


git-svn-id: svn://localhost/gambas/trunk@5871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-11 21:06:38 +00:00
Benoît Minisini
1de5f7f803 [DEVELOPMENT ENVIRONMENT]
* BUG: Always use "svn --force" when deleting a file in a project under
  version control.

[INTERPRETER]
* BUG: Fix a structure alignment for ARM architecture.

[GB.FORM]
* NEW: The image preview background task is now run with a lower priority.


git-svn-id: svn://localhost/gambas/trunk@5868 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-08 21:58:37 +00:00
Benoît Minisini
e7f4c0967f [INTERPRETER]
* BUG: Task.Stop now behaves correctly if the task has not been yet 
  actually started.
* NEW: Stopped task temporary files are automatically removed.


git-svn-id: svn://localhost/gambas/trunk@5861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 20:54:47 +00:00
Benoît Minisini
0d183b038d [INTERPRETER]
* NEW: Remove as much "packed" structure declaration as possible, to 
  prevent possible bugs on ARM architecture.


git-svn-id: svn://localhost/gambas/trunk@5860 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 16:56:12 +00:00
Benoît Minisini
0c8cd47114 [INTERPRETER]
* BUG: Fix a structure alignment bug for ARM.


git-svn-id: svn://localhost/gambas/trunk@5857 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-28 21:21:40 +00:00
Benoît Minisini
f6ff035982 [COMPILER]
* BUG: Fix a structure declaration that prevented the compiler to work 
  correctly on the ARM architecture.


git-svn-id: svn://localhost/gambas/trunk@5856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-28 20:14:06 +00:00
Benoît Minisini
812bec445b [DEVELOPMENT ENVIRONMENT]
* NEW: Complete the french translation.

[INTERPRETER]
* BUG: Class reimplementation of Abs() now can return an object or a 
  floating-point number.

[GB.COMPLEX]
* BUG: Abs() on a Complex returns a Float.

[GB.GEOM]
* BUG: Abs() on a Point or a PointF returns a Float.

[GB.GSL]
* BUG: Abs() on a Complex returns a Float.


git-svn-id: svn://localhost/gambas/trunk@5835 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-07 23:09:01 +00:00
Benoît Minisini
3a3449c068 [INTERPRETER]
* NEW: Support for inequality operators in the operator interface.
* NEW: The Sgn() function can be implemented by the operator interface.

[GB.GMP]
* NEW: BigInt now supports inequality operators.
* NEW: New methods: Odd(), Even()
* NEW: Logical operators as static methods: And, Or, Xor, Not.
* NEW: Bit manipulation as static methods: BSet, BClr, BChg, BTst.


git-svn-id: svn://localhost/gambas/trunk@5828 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-03 21:11:55 +00:00