Commit graph

221 commits

Author SHA1 Message Date
Benoît Minisini
643ef0c03c [COMPILER]
* BUG: Remove debugging messages.


git-svn-id: svn://localhost/gambas/trunk@5453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:58:47 +00:00
Benoît Minisini
ca59b5880f [COMPILER]
* NEW: Emit line positions in debugging information for global 
  initializations.


git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:55:16 +00:00
Benoît Minisini
f131eb6060 [COMPILER]
* BUG: Prevent self-inheritance.


git-svn-id: svn://localhost/gambas/trunk@5394 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-29 11:41:42 +00:00
Benoît Minisini
e51fc2d951 [INTERPRETER]
* NEW: The RAISE instruction now can raise events defined in a parent 
  class.
* NEW: Timer: The Trigger method now does nothing if there is an already
  pending trigger. This behaviour is not backward-compatible, so it may be
  removed if problems arise.

[COMPILER]
* NEW: The RAISE instruction now can raise events defined in a parent 
  class.

[GB.DRAW]
* NEW: Implement standard operators in Point and PointF classes.
* NEW: Automatic conversion between Point and PointF.
* NEW: 'CDraw.c' and 'CDraw.h' source files have been renamed as 'cdraw.c' 
  and 'cdraw.h'.
* NEW: Rect.Center() and RectF.Center() are two new methods that return the 
  center of the rectangle.

[GB.FORM]
* NEW: FileChooser: tar archives now can be uncompressed. 


git-svn-id: svn://localhost/gambas/trunk@5359 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 18:52:11 +00:00
Benoît Minisini
f7992f248d [COMPILER]
* BUG: Don't declare virtual classes now present in the *.list files.

[INFORMER]
* BUG: Put virtual classes in *.list files so that the IDE is aware of 
  their existence.


git-svn-id: svn://localhost/gambas/trunk@5336 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-18 20:07:31 +00:00
Benoît Minisini
0282ac072f [COMPILER]
* BUG: Fix comments parser.


git-svn-id: svn://localhost/gambas/trunk@5314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 12:21:44 +00:00
Benoît Minisini
a78a58f0f4 [COMPILER]
* BUG: As usual, forgot to add the new source files.


git-svn-id: svn://localhost/gambas/trunk@5312 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:28:01 +00:00
Benoît Minisini
25b8edfd44 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the help comments integrated into the *.info files by 
  the compiler.
* NEW: Use the help comments stored in libraries and display them in them
  help tooltips.
* BUG: Remove duplicates in the automatic completion list.
* BUG: The symbol syntax displayed in the help now correctly follows the
  "Keywords in uppercase" setting.
* NEW: Class help comments are now help comments located at the beginning
  of the source file that starts with three quotes and a space: `''' `.

[COMPILER]
* NEW: Support for help comments on public symbols. They are automatically 
  integrated into the *.info information files.


git-svn-id: svn://localhost/gambas/trunk@5311 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:19:53 +00:00
Benoît Minisini
588e0f3942 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix scrolling of code editor procedure list.
* BUG: Automatic local variable declaration now works correctly when a 
  method named "Get" is called inside the analyzed expression.

[COMPILER]
* NEW: "[]" now is compiled to return a array with no elements.

[INTERPRETER]
* BUG: Array with no elements can be casted to any other array datatype.

[GB.GUI.BASE]
* BUG: Fix visibility of expanded TreeView items.

[GB.QT4.EXT]
* NEW: When the Editor loses the focus, it does not scroll to the cursor 
  position automatically anymore.


git-svn-id: svn://localhost/gambas/trunk@5266 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-30 23:44:24 +00:00
Benoît Minisini
84bcc9052f [CONFIGURATION]
* BUG: Fix compilation of Gambas.

[DEVELOPMENT ENVIRONMENT]
* NEW: Change the proportional font size list in the option dialog. Use a
  5% size increment.

[INFORMER]
* NEW: gbi3 now displays include warning only if the GBI_DEBUG environment
  variable is set to "1".

[GB.FORM]
* NEW: Add a FontChooser Border property.
* BUG: Support for Underline and Strikeout come back in FontChooser.

[GB.GUI.BASE]
* NEW: ScrollArea now raise a Resize event when the client area is resized
  because of changes in scrollbars visibility.
* BUG: Changing a TreeView item property now correctly refreshes the view.
* OPT: The height of TreeView rows is now refreshed correctly.

[GB.QT4]
* BUG: The menu bar height is correctly refreshed if the application font
  changes.



git-svn-id: svn://localhost/gambas/trunk@5257 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 14:35:31 +00:00
Benoît Minisini
53c284099b [DEVELOPMENT ENVIRONMENT]
* BUG: The name of GridView controls is now always visible in the form
  editor.

[INTERPRETER]
* NEW: Support for new QUIT syntax.
* NEW: Do not display overriding prefix in class names.

[COMPILER]
* NEW: QUIT now can takes an optional argument which is the program return 
  value.

[GB.ARGS]
* BUG: The "--version" option is not "----version" anymore
* NEW: If an error occurs, returns 1 as exit value and not 0.

[GB.FORM]
* BUG: GridView is correctly updated now when the Border property is set.


git-svn-id: svn://localhost/gambas/trunk@5246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-19 21:00:35 +00:00
Benoît Minisini
2ab47c59e0 [COMPILER]
* NEW: Support for IF ... THEN ... ELSE syntax on the same line.


git-svn-id: svn://localhost/gambas/trunk@5236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 22:43:36 +00:00
Benoît Minisini
8701a2f020 [INTERPRETER]
* BUG: Fix symbol table search that could sometimes fail with non ASCII 
  characters.

[ARCHIVER]
* NEW: Add '.public' directory to executables.
* NEW: A new '-i' option not to display warnings when an information file 
  include fails.


git-svn-id: svn://localhost/gambas/trunk@5230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-10 14:58:14 +00:00
Benoît Minisini
0d88e31a1a [COMPILER]
* BUG: Error messages are correctly printed when warnings are disabled.


git-svn-id: svn://localhost/gambas/trunk@5223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-02 20:31:06 +00:00
Benoît Minisini
54150a91e0 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the welcome dialog.
* NEW: Remove the "Alternate" theme color.

[COMPILER]
* NEW: New WebPage syntaxes: <<Include>>, <</Include>>, <%/%>, <<--->>.

[GB.EVAL]
* NEW: Highlight.Alternate has been deprecated.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new WebPage syntaxes.

[GB.QT4.EXT]
* NEW: Editor: The alternate background is automatically computed.
* NEW: Editor: Brace highlighting now works on alternate background.
* NEW: Highlight.Alternate has been deprecated.


git-svn-id: svn://localhost/gambas/trunk@5177 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-20 02:29:37 +00:00
Benoît Minisini
0f985417cf [DEVELOPMENT ENVIRONMENT]
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same 
  name as the current project. This is a temporary incorrect fix!

[INTERPRETER]
* BUG: Fix Classes enumeration.

[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of 
  the window.

[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.

[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.


git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-17 11:13:32 +00:00
Benoît Minisini
1937a67353 [DEVELOPMENT ENVIRONMENT]
* NEW: Pressing SHIFT with the RETURN key prevents automatic variable 
  declaration.
* BUG: Automatic variable declaration takes TRY into account.
* BUG: Automatic variable declaration now understands more expressions.
* NEW: Add a filter to the example tab of the open project dialog.

[INTERPRETER]
* NEW: String.UCaseFirst() is a new method that capitalize the first letter
  of an UTF-8 string.

[COMPILER]
* NEW: If a function argument is enclosed with braces, then no warning is
  emitted if it overrides a global symbol.

[GB.FORM]
* BUG: Transparent SidePanel controls do not eat one pixel of their 
  contents anymore.
* NEW: TabPanel draws its focus highlight differently.
* NEW: ScrollArea now draws a shadow only if the corresponding scrollbar is
  visible.


git-svn-id: svn://localhost/gambas/trunk@5128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-05 18:36:59 +00:00
Benoît Minisini
28c9d6d59b [COMPILER]
* NEW: Make one warning for each symbol kind that is overridden.

[GB.DB.FORM]
* BUG: Fix warnings.

[GB.DESKTOP]
* BUG: Fix some warnings.

[GB.EVAL.HIGHLIGHT]
* BUG: Correctly rewrite the following keywords with no spurious space 
  after: TRUE, FALSE, NULL, +INF, -INF.

[GB.FORM]
* BUG: Fix warnings.

[GB.FORM.MDI]
* BUG: Fix warnings.

[GB.WEB]
* BUG: Fix warnings.


git-svn-id: svn://localhost/gambas/trunk@5125 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 23:11:11 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +00:00
Benoît Minisini
9478faa8d7 [COMPILER]
* BUG: Last change was not a good idea. Local variables should be able to 
  override global variables. When the compiler will be able to emit 
  warnings, that could make a good warning of course...


git-svn-id: svn://localhost/gambas/trunk@5115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-02 00:38:34 +00:00
Benoît Minisini
5d2a8b172e [COMPILER]
* BUG: Prevent local variables from hiding global variables.


git-svn-id: svn://localhost/gambas/trunk@5114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-02 00:20:29 +00:00
Benoît Minisini
c2764bc3f8 [COMPILER]
* BUG: Fix compilation of WebPage having UTF-8 characters inside.

[INTERPRETER]
* BUG: A background task automatically closes the file descriptor of every 
  other tasks.
* BUG: A task cannot create sub-tasks.
* NEW: There is an hard limit of simultaneous 256 background tasks now. 
  That should prevent fork bombing.
* BUG: Process.Kill does not try to wait for the task completion, and 
  return immediately.
* BUG: Fix events flushing at task termination.

[GB.EVAL.HIGHLIGHT]
* BUG: Fix WebPage highlighting.

[GB.WEB]
* BUG: The session cookie is now only accessible to the current CGI script.
* NEW: Response.SendFile() can set the content-type according to the file
  extension, if no content-type has been specified.


git-svn-id: svn://localhost/gambas/trunk@5096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 00:43:48 +00:00
Benoît Minisini
9d1c8225dc [CONFIGURATION]
* NEW: Standardize the help text of all command-line tools.

[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: library executables are installed with the '.gambas' 
  extension, but not the standard executables, where the extension is 
  removed.
* BUG: Packager: ArchLinux packager now compiles the project correctly.

[GB.FORM]
* NEW: Draw SidePanel little arrows differently.


git-svn-id: svn://localhost/gambas/trunk@5061 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 01:03:52 +00:00
Benoît Minisini
52b3040e07 [DEVELOPMENT ENVIRONMENT]
* NEW: Try to avoir Application.Busy flickering in some dialogs.

[EXAMPLES]
* NEW: New Tablet event inspired by a project made by Ricardo Díaz Martín.

[GB.DRAW]
* NEW: Paint.DrawImage() takes a new optional argument that defines the 
  opacity of the drawing, between 0 and 1.

[GB.FORM]
* NEW: ScrollArea.Tablet is a new property that allows it to catch tablet 
  events.

[GB.GTK]
* BUG: Support for tablet events.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
* BUG: DrawingArea.Tablet now works correctly when the DrawingArea is not
  cached.

[GB.QT4]
* BUG: Mouse events from tablet now get accurate button information.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.


git-svn-id: svn://localhost/gambas/trunk@5057 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-19 13:01:57 +00:00
Benoît Minisini
2402db91f0 [INTERPRETER]
* NEW: Support for imaginary number syntax. For example, using "3i" will 
  automatically load the gb.gsl component, create the corresponding complex 
  number and return it.

[COMPILER]
* NEW: Support for imaginary number syntax.

[GB.EVAL]
* NEW: Support for imaginary number syntax.

[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector 
  and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed. 
  It had too many problems.


git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 23:23:24 +00:00
Benoît Minisini
1b28a5f062 [COMPILER]
* BUG: Like can be used in a Case expression just after the Case keyword
  only.



git-svn-id: svn://localhost/gambas/trunk@4900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-06 21:50:15 +00:00
Benoît Minisini
a97ea1d599 [COMPILER]
* BUG: Make the internal "$load" form method private. Why was it public?


git-svn-id: svn://localhost/gambas/trunk@4846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-18 11:13:29 +00:00
Benoît Minisini
620770ed20 [COMPILER]
* BUG: ByRef keyword is now correctly forbidden in extern functions now.
* BUG: '...' syntax is now correctly forbidden in event description.


git-svn-id: svn://localhost/gambas/trunk@4797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:25:45 +00:00
Benoît Minisini
a865d9e227 [INTERPRETER]
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.

[COMPILER]
* NEW: Support for variable number of arguments in extern functions.

[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is 
  defined but a null string.


git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:18:38 +00:00
Benoît Minisini
326c380ff6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the FAST keyword in function declaration.

[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
  the first one on the line.

[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.


git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:05:21 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.

[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.

[GB.JIT]
* NEW: JIT Compiler.



git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:26:15 +00:00
Benoît Minisini
658b01475f [DEVELOPMENT ENVIRONMENT]
* OPT: Use Stream.Lines enumeration instead of LINE INPUT. It is a little bit 
  faster.

[COMPILER]
* BUG: Fix CASE LIKE syntax. Now all CASE LIKE arguments are compared with 
  the LIKE operator. Not just the first one.

[GB.FORM]
* NEW: FileChooser now can handle *.tgz archives.
* NEW: GridView: If the Grid property is FALSE, do not draw row and column
  separators.

[GB.GTK]
* BUG: Fix cached drawing areas.
* BUG: Fix mouse event management for controls having scrollbars.
* BUG: Fix cursor management for DrawingArea.


git-svn-id: svn://localhost/gambas/trunk@4755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-22 23:32:38 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* NEW: Handle new format of profile files.

[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.

[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.


git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 01:09:35 +00:00
Benoît Minisini
8be12f5027 [DEVELOPMENT ENVIRONMENT]
* NEW: Define the 'Exec' preprocessor constant when making an executable.
* BUG: Packager: Replace spaces with underscores when using the vendor name 
  as package name prefix.
* BUG: Packager: Fix "make uninstall" in autoconf packages.

[INTERPRETER]
* BUG: Allow to override native array classes without crashing.

[COMPILER]
* NEW: New '-x' option to define the 'Exec' preprocessor constant.

[EXAMPLES]
* NEW: MediaPlayer: Real-time seeking.
* NEW: MediaPlayer: Use gb.desktop to suspend the screen saver while 
  playing a media file.


git-svn-id: svn://localhost/gambas/trunk@4715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-05 00:39:43 +00:00
Benoît Minisini
13c81eedf5 [COMPILER]
* BUG: Display the right line number if there was a parser error inside a 
  form class file.


git-svn-id: svn://localhost/gambas/trunk@4661 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 14:52:51 +00:00
Benoît Minisini
490f64d123 [GB.QT4]
* BUG: Workaround an Oxygen bug with ScrollView borders.
* BUG: Setting ScrollView.Border correctly refreshes the scrollbars now.
* BUG: Fix cached DrawingArea updates.


git-svn-id: svn://localhost/gambas/trunk@4591 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-01 18:40:48 +00:00
Benoît Minisini
e72192ec22 [DEVELOPMENT ENVIRONMENT]
* NEW: Update the alternate background color of all themes.

[COMPILER]
* NEW: Support for <%: ... %> and <%! ... %> syntaxes in WebPage.

[GB.EVAL.HIGHLIGHT]
* NEW: Update WebPage highlighting, and handle the new syntaxes.


git-svn-id: svn://localhost/gambas/trunk@4569 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-24 12:25:59 +00:00
Benoît Minisini
2c42a71783 [COMPILER]
* NEW: New WebPage syntax for server-side comments: <%-- ... --%>.

[GB.FORM]
* BUG: Clicking inside a GridView now correctly gives it the focus.
* BUG: ButtonBox background is correctly drawn with gb.gtk.

[GB.GTK]
* BUG: Handle GTK+ events, but not Gambas posted routines when setting the
  application busy cursor.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for server-side comment syntax in WebPage highlight routine.


git-svn-id: svn://localhost/gambas/trunk@4568 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-23 21:35:24 +00:00
Benoît Minisini
8b5cefb7b6 [COMPILER]
* BUG: Disable parser debugging messages.


git-svn-id: svn://localhost/gambas/trunk@4562 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 14:54:46 +00:00
Benoît Minisini
c29798ff3f [DEVELOPMENT ENVIRONMENT]
* NEW: Error messages now can be displayed in normal text editors.

[COMPILER]
* NEW: Initial support of WebPage compilation.


git-svn-id: svn://localhost/gambas/trunk@4561 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 13:14:17 +00:00
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
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
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
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
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
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