Commit graph

737 commits

Author SHA1 Message Date
Benoît Minisini
099fda7cd2 [COMPILER]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly 
  interpreted now.

[GB.EVAL]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly 
  interpreted now.


git-svn-id: svn://localhost/gambas/trunk@4230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-01 23:24:07 +00:00
Benoît Minisini
ea60353cf8 [INTERPRETER]
* BUG: Oops. Fix the revision #4224 fix!


git-svn-id: svn://localhost/gambas/trunk@4226 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-30 17:53:08 +00:00
Benoît Minisini
0ee692b045 [INTERPRETER]
* BUG: If() and the [...] operator now raise an error when they get a
  non-standard datatype, instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@4224 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-30 15:51:57 +00:00
Benoît Minisini
df80468b96 [INTERPRETER]
* BUG: Fix function calls for functions taking optional arguments and extra
  arguments.


git-svn-id: svn://localhost/gambas/trunk@4223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-28 01:54:10 +00:00
Benoît Minisini
ba8e9d7483 [INTERPRETER]
* BUG: Really fix hash table resizing routine.


git-svn-id: svn://localhost/gambas/trunk@4220 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-25 00:18:30 +00:00
Benoît Minisini
d759ebb519 [INTERPRETER]
* BUG: Fix hash table resizing routine.


git-svn-id: svn://localhost/gambas/trunk@4219 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 23:58:41 +00:00
Benoît Minisini
95aa370a7e [INTERPRETER]
* BUG: Do not use GB.ReturnNull() when returning a void string anymore. Use
  the new GB.ReturnVoidString() API instead.


git-svn-id: svn://localhost/gambas/trunk@4216 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 19:33:41 +00:00
Benoît Minisini
13e89c798a [INTERPRETER]
* BUG: Fix negative year support in date management.


git-svn-id: svn://localhost/gambas/trunk@4214 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 14:56:41 +00:00
Benoît Minisini
348f1cefbd [INTERPRETER]
* BUG: Fix a useless and incorrect string initialization in the UTF-8 to
  UTF-16 internal conversion routine.
* BUG: Native functions that return a string must not use the 
  GB.ReturnNull() API, but GB.ReturnVoidString() instead. Fix the
  String.LCase() and String.UCase() functions accordingly.
* BUG: Date() function takes one argument, or at least three arguments now.


git-svn-id: svn://localhost/gambas/trunk@4213 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 14:52:20 +00:00
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
b1d4d5582c [COMPILER]
* BUG: Really support reserved words in form control names.


git-svn-id: svn://localhost/gambas/trunk@4185 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-09 10:00:33 +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
1707e07b34 [CONFIGURATION]
* BUG: Fix mime type registration.


git-svn-id: svn://localhost/gambas/trunk@4178 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-08 17:17:39 +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
74a17c8a4b [COMPILER]
* BUG: Purge .info and .list file from classes with no bytecode object each
  time a source file is compiled.


git-svn-id: svn://localhost/gambas/trunk@4162 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-28 21:10:18 +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
ca5fb092df [GB.EVAL]
* BUG: Eval() correctly returns a value again.


git-svn-id: svn://localhost/gambas/trunk@4112 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-09 00:29:06 +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
f17878075b [CONFIGURATION]
* NEW: Switch version to 2.99.4.

[INTERPRETER]
* OPT: Optimize a little case insensitive string comparison. Hash table
  code is consequently faster.

[GB.SDL]
* NEW: Comment old Cursor class implementation.


git-svn-id: svn://localhost/gambas/trunk@4109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 20:23:15 +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
dc2318698a [COMPILER]
* BUG: Fix compilation of function calls having more than 32 ByRef 
  arguments.


git-svn-id: svn://localhost/gambas/trunk@4087 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-04 23:20:53 +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