Commit graph

496 commits

Author SHA1 Message Date
Benoît Minisini
4dbe9557a9 [INTERPRETER]
* BUG: Support for different callbacks on the same function call.


git-svn-id: svn://localhost/gambas/trunk@4212 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 12:16:40 +00:00
Benoît Minisini
db165a0996 [INTERPRETER]
* BUG: Disable an incorrect FOR...NEXT optimization.


git-svn-id: svn://localhost/gambas/trunk@4208 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-23 17:13:48 +00:00
Benoît Minisini
e680d4fe9b [DEVELOPMENT ENVIRONMENT]
* BUG: The form editor now embeds controls in a container that depens on 
  the form family (a Panel for a Form, a ReportPanel for a Report).

[INTERPRETER]
* BUG: Fix loop management when big negative values are used.

[GB.REPORT]
* NEW: Add an icon for the ReportPanel control.


git-svn-id: svn://localhost/gambas/trunk@4206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-20 00:03:25 +00:00
Benoît Minisini
e531a4e05f [CONFIGURATION]
* BUG: Fix many gcc 4.6.1 warnings.
* NEW: Update the depcomp sript with a more recent version.

[GB.DB.POSTGRESQL]
* BUG: Fix primary index retrieving for tables inside a schema.


git-svn-id: svn://localhost/gambas/trunk@4203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-16 19:24:01 +00:00
Benoît Minisini
f1e042543d [INTERPRETER]
* BUG: Try to not lose the value of 'errno' if the select() system call 
  fails inside the event loop.

[GB.GTK]
* BUG: Fix arrangement when there is no place for expanded controls.

[GB.QT4]
* BUG: Fix arrangement when there is no place for expanded controls.


git-svn-id: svn://localhost/gambas/trunk@4182 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-09 02:05:07 +00:00
Benoît Minisini
bfb9fa6d6b [INTERPRETER]
* BUG: Fix GB.System.Charset() API.


git-svn-id: svn://localhost/gambas/trunk@4164 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-30 08:23:54 +00:00
Benoît Minisini
6e86a84d5a [INTERPRETER]
* NEW: Disable echo by defaut when running a child process inside a virtual 
  terminal.

[DEVELOPMENT ENVIRONMENT]
* BUG: Run projects inside a virtual terminal.


git-svn-id: svn://localhost/gambas/trunk@4163 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-29 00:10:15 +00:00
Benoît Minisini
72c46b0820 [INTERPRETER]
* BUG: Correctly check how a system file descriptor is opened when 
  watching it.



git-svn-id: svn://localhost/gambas/trunk@4160 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-28 00:57:05 +00:00
Benoît Minisini
7a445217f2 [DEVELOPMENT ENVIRONMENT]
* NEW: Javascript compression now compress local variable names.
* BUG: Fix database manager field creation.

[GB.FORM.STOCK]
* BUG: Fix icons again.

[GB.QT4]
* BUG: Fix GridView Row and Column property.
* BUG: Fix GridView Change event in single selection mode.


git-svn-id: svn://localhost/gambas/trunk@4158 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-27 12:36:33 +00:00
Benoît Minisini
4dcc3d7800 [INTERPRETER]
* BUG: Fix internal UTF-8 to Unicode conversion routine.


git-svn-id: svn://localhost/gambas/trunk@4156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 03:00:00 +00:00
Benoît Minisini
ea0cd62f68 [INTERPRETER]
* BUG: Fix internal collection hash table resizing.


git-svn-id: svn://localhost/gambas/trunk@4154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 02:05:50 +00:00
Benoît Minisini
630c52937c [INTERPRETER]
* OPT: Optimization of locale-aware string comparison routine.
* OPT: Do not use sprintf() for searching event handlers in symbol tables.
* OPT: String[].Find() and String.Exist() are now twice faster for ASCII 
  binary and case insensitive comparisons.
* BUG: Initialize the locale before loading any class.
* OPT: Do not use sprintf() when searching a file inside Gambas archives.
* OPT: Unroll a loop to speed up binary string identity comparison a little 
  bit.
* BUG: Collection keys are now hashed with their eight last characters.
* BUG: Internal Collection automatic resizing was disabled. Re-enable it!


git-svn-id: svn://localhost/gambas/trunk@4153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 01:46:48 +00:00
Benoît Minisini
12997b15f3 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't crash if a library cannot be found.
* NEW: Display a big message in the library tab of the project property
  dialog to tell that library must be stored in the same directory as the
  project using them.

[INTERPRETER]
* OPT: Some little optimization in natural comparison routine.

[GB.GTK]
* BUG: Do not crash if a null key is used for a stock picture. Just return
  a null reference.


git-svn-id: svn://localhost/gambas/trunk@4145 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-23 20:17:57 +00:00
Benoît Minisini
a807a57983 [INTERPRETER]
* OPT: Some optimizations in date formatting.
* OPT: Now() has been optimized when run multiple times during the same 
  second.


git-svn-id: svn://localhost/gambas/trunk@4144 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-21 12:42:56 +00:00
Benoît Minisini
990180be34 [INTERPRETER]
* OPT: Internal conversions between unicode and utf-8 have been optimized.
* OPT: String.UCase(), String.LCase() and String.Chr() have been optimized.
* BUG: Arrays of classes exported from a component or a library are now
  automatically exported too.
* NEW: Param.All is a new property that returns all extra arguments as an
  array.


git-svn-id: svn://localhost/gambas/trunk@4143 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-21 09:42:19 +00:00
Benoît Minisini
ee80fb4118 [INTERPRETER]
* BUG: Fix String.Pos(), and String.InStr() with a third argument.

[GB.QT4]
* BUG: GridView: Fix how the Change event is raised in single selection 
  mode.


git-svn-id: svn://localhost/gambas/trunk@4140 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-19 01:16:29 +00:00
Benoît Minisini
15f01d67ed [INTERPRETER]
* BUG: When opening an existing file descriptor, correctly check the mode
  compatibility.


git-svn-id: svn://localhost/gambas/trunk@4135 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 16:27:23 +00:00
Benoît Minisini
9071bf9a59 [INTERPRETER]
* NEW: When opening an existing file descriptor, check its validity 
  immediately.


git-svn-id: svn://localhost/gambas/trunk@4134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:38:43 +00:00
Benoît Minisini
a3c4a852e3 [INTERPRETER]
* NEW: When opening an existing file descriptor, check that it is opened 
  with a compatible mode. Otherwise raise an "Access forbidden" error.


git-svn-id: svn://localhost/gambas/trunk@4133 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:36:30 +00:00
Benoît Minisini
3b5b881d5e [INTERPRETER]
* NEW: Split System and Application class implementation in tow different
  source files.
* NEW: A trick to watch existing file descriptors: opening ".XX" in direct
  mode, where "XX" is the file descritor value.


git-svn-id: svn://localhost/gambas/trunk@4132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:21:11 +00:00
Benoît Minisini
c900daba16 [EXAMPLES]
* NEW: Fix video examples according to the last changes in gb.v4l.


git-svn-id: svn://localhost/gambas/trunk@4128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-14 15:30:30 +00:00
Benoît Minisini
2e398f2a63 [INTERPRETER]
* BUG: Fix the declaration of SizeOf() syntax.


git-svn-id: svn://localhost/gambas/trunk@4124 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-13 02:31:56 +00:00
Benoît Minisini
db575749b4 [INTERPRETER]
* BUG: Now incrementing or decrementing a boolean raises an error.


git-svn-id: svn://localhost/gambas/trunk@4123 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-13 00:04:40 +00:00
Benoît Minisini
04eff64e18 [INTERPRETER]
* BUG: Remove the deprecated Object.LastEventName property.


git-svn-id: svn://localhost/gambas/trunk@4122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-13 00:02:33 +00:00
Benoît Minisini
868ca76fdc [INTERPRETER]
* BUG: Fix Byte[].FromString() method.


git-svn-id: svn://localhost/gambas/trunk@4114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-11 16:31:51 +00:00
Benoît Minisini
aae2aee181 [INTERPRETER]
* OPT: Optimize the inequality comparison operators by putting them into
  the gbx_exec_loop.c source file.


git-svn-id: svn://localhost/gambas/trunk@4113 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-09 01:50:57 +00:00
Benoît Minisini
2232c61703 [INTERPRETER]
* BUG: Fix a crash in stack backtrace management.


git-svn-id: svn://localhost/gambas/trunk@4110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 22:04:52 +00:00
Benoît Minisini
7923377850 [INTERPRETER]
* OPT: A little optimization in string allocation.
* OPT: Optimize returning from a function.
* OPT: A little optimization in conditonal jump.


git-svn-id: svn://localhost/gambas/trunk@4108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 20:08:33 +00:00
Benoît Minisini
0ab71b28bf [INTERPRETER]
* OPT: Don't use glibc memcmp() to compare strings. My own routine is a 
  little faster according to valgrind.
* OPT: The UTF-8 String class routines Left(), Mid() and Right() have been 
  optimized. The positions of the first 256 characters of the last string 
  processed by the String class are cached.
* OPT: Some native methods can be called like any other native subroutines.
  But that can be used only inside the interpreter, not in a component.
* OPT: The '&' operator is faster now when it takes two arguments only (the
  most frequent case).


git-svn-id: svn://localhost/gambas/trunk@4106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 16:01:36 +00:00
Benoît Minisini
67ecd4b00a [INTERPRETER]
* NEW: New syntax for GB.AddString() and GB.ExtendString() interpreter API.
  Do not pass the string by reference anymore.
* NEW: GB.AddChar() is a new API for adding just a char to a string.

[GB.DB.SQLITE2]
* BUG: Fix ignored system call return values.

[GB.DB.SQLITE3]
* BUG: Fix ignored system call return values.

[GB.DB.NET]
* BUG: Fix ignored system call return values.

[GB.V4L]
* BUG: Remove some unused local variables.


git-svn-id: svn://localhost/gambas/trunk@4105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-07 19:43:11 +00:00
Benoît Minisini
3840aa7985 [INTERPRETER]
* OPT: Optimize some string functions by not using arguments passed by 
  reference.
* OPT: Integrate the "=" operator function into the main execution loop to
  save one function call.
* OPT: Optimize string comparison functions on x86 and x64_64 architectures
  by comparing eight bytes in one shot.


git-svn-id: svn://localhost/gambas/trunk@4104 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-07 12:38:29 +00:00
Benoît Minisini
bf1c0c2cda [INTERPRETER]
* BUG: Really fix the way Trim() handle null strings. Now there is no 
  memory leaks anymore.


git-svn-id: svn://localhost/gambas/trunk@4100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-06 20:47:26 +00:00
Benoît Minisini
455dafa639 [INTERPRETER]
* BUG: DateAdd() does not raise an overflow error anymore when used on a
  time value.


git-svn-id: svn://localhost/gambas/trunk@4096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-06 11:05:01 +00:00
Benoît Minisini
37894ac0db [INTERPRETER]
* BUG: Fix a bug in type transitivity in Trim().


git-svn-id: svn://localhost/gambas/trunk@4095 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-06 02:32:34 +00:00
Benoît Minisini
5b853ba5f3 [INTERPRETER]
* NEW: Quote comma in Html$().

[GB.WEB]
* NEW: Response.SetCookie() has a new optional argument to set if the 
  cookie is "HttpOnly".
* NEW: Session cookies are now automatically "HttpOnly".


git-svn-id: svn://localhost/gambas/trunk@4079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-03 09:52:28 +00:00
Benoît Minisini
ce3c5d7e53 [INTERPRETER]
* BUG: The previous Write new feature really works now.


git-svn-id: svn://localhost/gambas/trunk@4078 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-03 01:55:51 +00:00
Benoît Minisini
47ed274add [INTERPRETER]
* NEW: Write instruction can write a bunch of bytes from a pointer address.


git-svn-id: svn://localhost/gambas/trunk@4077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-03 01:45:52 +00:00
Benoît Minisini
2afe7d8f6b [DEVELOPMENT ENVIRONMENT]
* NEW: Some cosmetic changes in system information dialog and tips dialog.


git-svn-id: svn://localhost/gambas/trunk@4076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-02 16:44:20 +00:00
Benoît Minisini
0c6a0e39c5 [GB.QT4]
* OPT: Optimizations in the Action property management.

[GB.GTK]
* OPT: Optimizations in the Action property management.


git-svn-id: svn://localhost/gambas/trunk@4073 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 14:19:34 +00:00
Benoît Minisini
8ff148431c [INTERPRETER]
* BUG: Fix FOR...NEXT loops for Single and Float datatypes.


git-svn-id: svn://localhost/gambas/trunk@4072 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 11:46:32 +00:00
Benoît Minisini
52552bd548 [DEVELOPMENT ENVIRONMENT]
* NEW: Add a project filter in the recent project list of the welcome 
  dialog.

[GB.REPORT]
* BUG: Fix a typo mistake in ReportVBox class.


git-svn-id: svn://localhost/gambas/trunk@4070 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 00:39:54 +00:00
Benoît Minisini
44a657ac51 [INTERPRETER]
* BUG: Fix FOR...NEXT loop with Byte, Short and Single datatypes.
* BUG: FOR...NEXT loop optimization now works correctly if the step sign
  changes.


git-svn-id: svn://localhost/gambas/trunk@4068 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 23:42:46 +00:00
Benoît Minisini
b452559b5d [INTERPRETER]
* BUG: When checking inheritance, ignore the case of the "_new" special 
  method name.

[GB.REPORT]
* BUG: Fix some bad method overrides.


git-svn-id: svn://localhost/gambas/trunk@4067 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:35:54 +00:00
Benoît Minisini
2df008159f [INTERPRETER]
* NEW: The LIKELY() and UNLIKELY() macros do nothing now, as it seems that
  recent CPUs are better than humans for branch prediction.
* BUG: Error.Backtrace is accurate now.


git-svn-id: svn://localhost/gambas/trunk@4066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:28:48 +00:00
Benoît Minisini
252895cdc6 [WEB SITE MAKER]
* BUG: Fix PayPal link.
* BUG: Fix default font in style sheets.

[INTERPRETER]
* BUG: Now an inherited method checks that it has the same signature as the
  parent method. This check is not done for a native class inherting 
  another native class. C/C++ programmers are supposed to know what they 
  are doing. :-)

[GB.DB.FORM]
* BUG: Rename all Refresh() methods as Update() in all controls, so that 
  the Refresh() method inherited from Control is not badly overridden.
* NEW: Change the way DataView chooses the height of a row.

[GB.GTK]
* NEW: Control.Refresh() now takes no argument.
* NEW: DrawingArea.Refresh() keeps taking four optional arguments 
  describing the sub-rectangle to refresh.

[GB.QT4]
* NEW: Control.Refresh() now takes no argument.
* NEW: DrawingArea.Refresh() keeps taking four optional arguments 
  describing the sub-rectangle to refresh.


git-svn-id: svn://localhost/gambas/trunk@4064 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-30 23:50:38 +00:00
Benoît Minisini
28758db521 [DEVELOPMENT ENVIRONMENT]
* BUG: Generate project help pages in temporary files so that the help
  browser can put them in its history.

[GB.QT4.WEBKIT]
* BUG: The default user agent is returned when no specific user agent has 
  been set.


git-svn-id: svn://localhost/gambas/trunk@4060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-29 22:57:39 +00:00
Benoît Minisini
89187d5c7c [INTERPRETER]
* NEW: String.IsValid() is a new method that returns if a string is a valid
  well-formed UTF-8 string.


git-svn-id: svn://localhost/gambas/trunk@4050 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-27 19:49:48 +00:00
Benoît Minisini
15bdd674f7 [INTERPRETER]
* BUG: Components loaded at startup are now persistent. They are not 
  unloaded by the interpreter anymore. That should prevent crashes from bad
  C++ libraries that have global static objects to delete. Qt can you hear
  my cries?


git-svn-id: svn://localhost/gambas/trunk@4044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-27 01:32:13 +00:00
Benoît Minisini
c00ce9a3fe [DEVELOPMENT ENVIRONMENT]
* NEW: Redesign the system information window and its contents.

[INTERPRETER]
* BUG: Do not leak object reference when an error is raised during an event
  handler.
* BUG: When a broken symbolic link is encountered, Dir() now assumes it is
  a file.

[GB.FORM]
* BUG: DirView now correctly ignores errors raised during the Icon event.


git-svn-id: svn://localhost/gambas/trunk@4035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-23 12:51:25 +00:00
Benoît Minisini
f5c1b91bb9 [INTERPRETER]
* NEW: Rename the '.File.Perm' virtual class as '.Stat.Perm'.


git-svn-id: svn://localhost/gambas/trunk@4030 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-21 23:50:51 +00:00