Commit graph

822 commits

Author SHA1 Message Date
Benoît Minisini
eb93325573 [COMPILER]
* BUG: Allow STATIC CONST again. I don't want to break existing code 
  finally...


git-svn-id: svn://localhost/gambas/trunk@4540 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-10 14:32:37 +00:00
Benoît Minisini
dc1c62e014 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't save cursor position during a text selection.
* NEW: Update error messages.

[COMPILER]
* NEW: CONST cannot have the STATIC keyword anymore.

[GB.QT4.EXT]
* NEW: Editor: Do not highlight the current line when losing the focus.


git-svn-id: svn://localhost/gambas/trunk@4539 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-09 18:01:59 +00:00
Benoît Minisini
9d6b4a0f0d [DEVELOPMENT ENVIRONMENT]
* BUG: Fix version requirements on components in the packager.

[INTERPRETER]
* OPT: A little optimization in LINE INPUT.

[GB.FORM]
* NEW: GridView: Setting the column width to -1 make it fit its contents.
* NEW: GridView: Double-clicking on the right limit of a column make it
  fit its contents.


git-svn-id: svn://localhost/gambas/trunk@4537 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-08 01:41:23 +00:00
Benoît Minisini
9e259995ea [INTERPRETER]
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently, 
  calling functions recursively are now very fast.

[COMPILER]
* NEW: New FAST keyword.


git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-06 01:50:41 +00:00
Benoît Minisini
8dfb763782 [INTERPRETER]
* NEW: GOSUB can be recursive now, by saving the control variables, and
  restoring them on RETURN.

[COMPILER]
* NEW: GOSUB can be used on any top-level labels.


git-svn-id: svn://localhost/gambas/trunk@4534 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 23:43:07 +00:00
Benoît Minisini
6bd3a8a3a8 [COMPILER]
* BUG: GOTO works again.


git-svn-id: svn://localhost/gambas/trunk@4533 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 17:40:50 +00:00
Benoît Minisini
2f84e243e9 [COMPILER]
* BUG: Forgot to commit a file...


git-svn-id: svn://localhost/gambas/trunk@4532 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 17:39:08 +00:00
Benoît Minisini
e94477d0e1 [COMPILER]
* BUG: Use a dedicated control stack slot for each GOSUB subroutine.
* BUG: GOSUB labels now must be at top-level, and must be declared *after*
  the GOSUB call. Consequently, recursion is not possible anymore.


git-svn-id: svn://localhost/gambas/trunk@4531 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 09:13:59 +00:00
Benoît Minisini
1fc5a474de [INTERPRETER]
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN 
  instruction alone. Consequently, you cannot exit from a 'SUB' with it if
  there is a pending GOSUB. The GOSUB stack is only limited by the
  available memory.

[COMPILER]
* NEW: New GOSUB instruction.


git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 23:57:36 +00:00
Benoît Minisini
fb26ef792f [DEVELOPMENT ENVIRONMENT]
* NEW: A new panel in the option dialog that allows to define which files
  must be ignored when creating a source package or an installation 
  package.

[INTERPRETER]
* BUG: Fix String.Mid$() when the third argument goes after the string 
  length.

[GB.FORM]
* NEW: IconPanel now uses a GridView and not an IconView anymore.
* BUG: GridView.Mouse property now works as expected.


git-svn-id: svn://localhost/gambas/trunk@4528 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 02:17:24 +00:00
Benoît Minisini
df53de0b28 [DEVELOPMENT ENVIRONMENT]
* BUG: Make error message tooltips always visible.
* NEW: Update logos.

[GB.FORM]
* NEW: GridView: The Shift key is taken into account when selecting rows 
  with the mouse.


git-svn-id: svn://localhost/gambas/trunk@4525 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:57:57 +00:00
Benoît Minisini
03965a418c [COMPILER]
* BUG: Don't print a line number greater than the number of lines in the 
  compiled file when displaying an error message.



git-svn-id: svn://localhost/gambas/trunk@4524 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:38:50 +00:00
Benoît Minisini
092b3abfa3 [COMPILER]
* NEW: Raise an error now when using TRY with GOTO, BREAK, CONTINUE or 
  STOP.


git-svn-id: svn://localhost/gambas/trunk@4523 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:05:55 +00:00
Benoît Minisini
518868e61a [DEVELOPMENT ENVIRONMENT]
* BUG: Try to fix the spurious error that is raised sometimes when clicking
  on a control in the form editor.

[GB.FORM]
* NEW: GridView.Columns.Width property has been implemented.


git-svn-id: svn://localhost/gambas/trunk@4519 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-01 11:42:28 +00:00
Benoît Minisini
f841a413e7 [INTERPRETER]
* BUG: Fix structure field padding.


git-svn-id: svn://localhost/gambas/trunk@4517 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-29 13:43:18 +00:00
Benoît Minisini
dd8f6fa227 [INTERPRETER]
* BUG: Adding years with DateAdd() to 29 Feb now switch to 28 Feb not to 
  create invalid dates if the result is not in a leap year.


git-svn-id: svn://localhost/gambas/trunk@4515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-28 23:39:29 +00:00
Benoît Minisini
b85b4dfc7b [INTERPRETER]
* BUG: Really fix CATCH / FINALLY management.


git-svn-id: svn://localhost/gambas/trunk@4513 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-27 22:15:10 +00:00
Benoît Minisini
61d1e832bb [INTERPRETER]
* BUG: Correctly release the stack when dealing with a CATCH / FINALLY 
  instruction.


git-svn-id: svn://localhost/gambas/trunk@4512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-27 19:03:57 +00:00
Benoît Minisini
09f700e22b [INTERPRETER]
* BUG: LINE INPUT does not try to incorrectly release its stream argument
  anymore when there is no stream argument.
* OPT: A little optimization in Space$(), Upper$() and Lower$().
* OPT: EXEC / SHELL ... TO does not return the process output through a 
  temporary string that will be freed later. If the string is big, then
  the memory is retained longer than necessary.


git-svn-id: svn://localhost/gambas/trunk@4509 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 23:07:14 +00:00
Benoît Minisini
0fcd5bbd44 [GB.DB.FORM]
* BUG: Fix a crash in DataView when it has no current row.


git-svn-id: svn://localhost/gambas/trunk@4508 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 18:31:54 +00:00
Benoît Minisini
fad8dc7581 [INTERPRETER]
* NEW: 't' and 'tt' are two new date formatting patterns that display the
  timezone.


git-svn-id: svn://localhost/gambas/trunk@4507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 15:16:10 +00:00
Benoît Minisini
e9f7c91cd5 [INTERPRETER]
* BUG: Destructors now can safely raise errors. If these errors are 
  ignored, the object is released anyway.


git-svn-id: svn://localhost/gambas/trunk@4506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 03:16:08 +00:00
Benoît Minisini
0309f98b60 [DEVELOPMENT ENVIRONMENT]
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.

[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that 
  allow to define a callback that will be called if an exception is raised
  during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
  it is possible to use more stack than possible and to crash the 
  interpreter.

[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
  "Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".

[GB.DB]
* BUG: Table.Type property now correctly handle null table types.

[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only 
  one problem to fix that depends on a gb.gtk bug.

[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
  instead.

[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor 
  around the current cell when set.

[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.

[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the 
  interpreter should not crash anymore.

[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.


git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 01:35:55 +00:00
Benoît Minisini
da3a564c43 [GB.DRAW]
* BUG: Rect class can be used as a fonction correctly now.


git-svn-id: svn://localhost/gambas/trunk@4497 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-22 01:43:17 +00:00
Benoît Minisini
65e1200b53 [INTERPRETER]
* BUG: Constructors that receive too many arguments now correctly raise an 
  error.

[GB.DRAW]
* BUG: Accessing a temporarily closed drawing device now raises an error
  instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@4496 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-22 01:42:40 +00:00
Benoît Minisini
a668911d1e [INTERPRETER]
* BUG: Convert the return value of a native function to a variant 
  automatically only if the function call is done by a "CALL" bytecode.
  Consequently the gb.signal component works again.



git-svn-id: svn://localhost/gambas/trunk@4489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-19 16:13:38 +00:00
Benoît Minisini
8d3ba2dc15 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible crash when the form editor gets a spurious resize 
  event whereas undo management has been uninitialized.
* NEW: Libraries now can have requirements exactly like components. This is
  taken into account by the project property dialog.

[ARCHIVER]
* NEW: Put the '.component' file inside archives, so that the IDE can 
  extract libraries requirements from the executable.

[GB.FORM]
* NEW: Add two pixels to the height of the TabPanel tabbar.


git-svn-id: svn://localhost/gambas/trunk@4475 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 23:29:18 +00:00
Benoît Minisini
859a04ba8c [INTERPRETER]
* BUG: Fix enumeration abortion.


git-svn-id: svn://localhost/gambas/trunk@4474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 21:37:46 +00:00
Benoît Minisini
7a3021909e [INTERPRETER]
* BUG: Fix translatable string constants inheritance.


git-svn-id: svn://localhost/gambas/trunk@4473 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 19:53:40 +00:00
Benoît Minisini
9a0e045cd1 [INTERPRETER]
* BUG: Object.Call() does not try to convert the return value if there is
  no return value!


git-svn-id: svn://localhost/gambas/trunk@4467 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 19:12:32 +00:00
Benoît Minisini
2fa263b81f [INTERPRETER]
* BUG: Object.Call() returns its value correctly now.


git-svn-id: svn://localhost/gambas/trunk@4466 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 19:09:03 +00:00
Benoît Minisini
9e30b521c4 [INTERPRETER]
* NEW: Formatting a date with gb.GeneralDate now always prints the time.
* BUG: The time part of a formatted date is never automatically removed 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 08:37:48 +00:00
Benoît Minisini
b075a2e026 [INTERPRETER]
* NEW: Loading a library does not load its dependencies automatically 
  anymore. Now they behave like components, and the IDE will have to
  compute the dependencies.


git-svn-id: svn://localhost/gambas/trunk@4463 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-08 20:26:24 +00:00
Benoît Minisini
7b191a1c5d [INTERPRETER]
* BUG: Fix date formatting.


git-svn-id: svn://localhost/gambas/trunk@4454 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 19:30:30 +00:00
Benoît Minisini
1a6d492738 [INTERPRETER]
* NEW: System.Shell is a new property that allows to define the shell used
  by the Shell instruction. By default, this is '/bin/sh'.


git-svn-id: svn://localhost/gambas/trunk@4453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 16:18:57 +00:00
Benoît Minisini
9855c33d97 [INTERPRETER]
* BUG: Make date formatting more consistent when the date part or the time 
  part is null.


git-svn-id: svn://localhost/gambas/trunk@4449 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 08:08:27 +00:00
Benoît Minisini
2bbdb9a698 [INTERPRETER]
* BUG: Float and Single constants are now supported in native classes.


git-svn-id: svn://localhost/gambas/trunk@4444 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-01 01:51:29 +00:00
Benoît Minisini
f5472efbbe [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the form editor grid horizontal position.

[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
  not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value 
  is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!

[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the 
  corresponding special floating values.


git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-31 02:33:01 +00:00
Benoît Minisini
0a9b6abe82 [DEVELOPMENT ENVIRONMENT]
* NEW: More support for WebPage.

[COMPILER]
* NEW: Start supporting WebPage.


git-svn-id: svn://localhost/gambas/trunk@4427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-28 09:55:55 +00:00
Benoît Minisini
dcd6a9e147 [GB.IMAGE]
* BUG: Image.Colorize() now takes the color brightness into account.


git-svn-id: svn://localhost/gambas/trunk@4416 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-23 10:59:29 +00:00
Benoît Minisini
96c50f1600 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix some crash in database manager when removing fields or index.
* BUG: Fix position history.
* NEW: Add a history popup menu.

[INTERPRETER]
* NEW: The Html$() function now converts unicode non-breaking space (code 
  160) in a " " entity.

[GB.GTK]
* BUG: Now raise an error when using text-box methods on read-only 
  combo-boxes.
* NEW: GTK+ 2.16 is now required.


git-svn-id: svn://localhost/gambas/trunk@4415 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-22 13:13:25 +00:00
Benoît Minisini
34f24c3991 [INTERPRETER]
* BUG: Fix the Param array accessor, that returns a specific extra argument
  from its index.

[GB.DBUS]
* BUG: Fix DBus method call when the method returns nothing. If there is an
  error, it is correctly raised.


git-svn-id: svn://localhost/gambas/trunk@4413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-21 03:19:38 +00:00
Benoît Minisini
6227c5ecf2 [INTERPRETER]
* OPT: Optimize IIf() when its two last arguments have the same datatype.


git-svn-id: svn://localhost/gambas/trunk@4409 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:53:09 +00:00
Benoît Minisini
4300e266d8 [INTERPRETER]
* BUG: Fix inline array operator when mixing objects and standard datatypes.


git-svn-id: svn://localhost/gambas/trunk@4408 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:41:42 +00:00
Benoît Minisini
2288bb9194 [INTERPRETER]
* BUG: Fix IIf() when the returned values are objects.


git-svn-id: svn://localhost/gambas/trunk@4407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:37:03 +00:00
Benoît Minisini
c8b5c206ef [INTERPRETER]
* BUG: Fix bits manipulation routines on Short values.


git-svn-id: svn://localhost/gambas/trunk@4406 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 01:35:41 +00:00
Benoît Minisini
6c0306605a [INTERPRETER]
* BUG: Fix the IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4405 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 01:26:10 +00:00
Benoît Minisini
f9444636c0 [INTERPRETER]
* BUG: Correctly handle relative paths in CHMOD, CHOWN and CHGRP.


git-svn-id: svn://localhost/gambas/trunk@4401 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-15 10:22:12 +00:00
Benoît Minisini
f5682bf3b4 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.

[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
  using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when 
  trying to remove a non-empty directory.

[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having 
  the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the 
  user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the 
  group as defined in the /etc/group file.


git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-15 08:54:57 +00:00
Benoît Minisini
4e3a714642 [INTERPRETER]
* BUG: Terminal emulation now does not automatically convert NL to CR+NL.
* BUG: Fix the declaration of custom array classes.

[GB.GTK]
* BUG: Stopping a file descriptor watch now correctly check if the event 
  loop must be exited.


git-svn-id: svn://localhost/gambas/trunk@4398 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-13 08:04:11 +00:00