Commit graph

686 commits

Author SHA1 Message Date
Benoît Minisini
307e7d396f [INTERPRETER]
* BUG: Raise the Kill event of a Process after having closed its I/O 
  streams.

[GB.DEBUG]
* NEW: Debug.GetSignal() is a new method that returns the description of a 
  signal from its numeric value.


git-svn-id: svn://localhost/gambas/trunk@4892 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 18:21:54 +00:00
Benoît Minisini
02eb02cd4f [INTERPRETER]
* BUG: Reading an unknown property does not crash anymore if _unknown is 
  defined but not _property.


git-svn-id: svn://localhost/gambas/trunk@4891 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 17:41:36 +00:00
Emil Lenngren
76e3dee4d0 [GB.JIT]
* NEW: Can now profile each line of code, but beware: profiling makes the program much much slower.

[GB.DEBUG]
* OPT: Now DEBUG_calc_line_from_position has logaritmic time complexity instead of linear. That makes profiling each line much faster for large functions!


git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-02 22:38:29 +00:00
Benoît Minisini
7a126b76e3 [INTERPRETER]
* NEW: Always put a space between international currency symbol and amount
  when formatting a currency.


git-svn-id: svn://localhost/gambas/trunk@4871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-28 23:38:26 +00:00
Benoît Minisini
50681dead1 [INTERPRETER]
* BUG: Fix Format$() when using "AM/PM" just after a date formatting 
  character.


git-svn-id: svn://localhost/gambas/trunk@4870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-28 23:09:10 +00:00
Benoît Minisini
6c54a66760 [INTERPRETER]
* BUG: Correctly release or keep the return value of a function when 
  destructors are called during epilogue.


git-svn-id: svn://localhost/gambas/trunk@4863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-27 01:14:05 +00:00
Benoît Minisini
be77f4a2fa [INTERPRETER]
* BUG: Add a check to not create array classes when reimplementing or 
  inheriting native array classes. Hope that check is not wrong...


git-svn-id: svn://localhost/gambas/trunk@4856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-24 18:41:57 +00:00
Emil Lenngren
1ee80f7683 [INTERPRETER]
* BUG: Correctly load the "npvar" field for Gambas functions.



git-svn-id: svn://localhost/gambas/trunk@4852 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-20 17:12:58 +00:00
Emil Lenngren
856af1cd45 [GB.JIT]
* NEW: Partially support callbacks for extern functions. You can only convert functions in the current class to pointers 
currently, i.e. functions that are referenced directly by their name.



git-svn-id: svn://localhost/gambas/trunk@4851 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 22:08:59 +00:00
Emil Lenngren
dba2bf91ac [GB.JIT]
* BUG: Fix extern function overriding.

[COMPILER]
* BUG: Write correct disassembly for PUSH INTEGER.



git-svn-id: svn://localhost/gambas/trunk@4850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 21:23:49 +00:00
Benoît Minisini
b98a33c671 [INTERPRETER]
* BUG: If there is an error, wake up the debugger on the current stack 
  position. Return to the last encountered line break after, not before.


git-svn-id: svn://localhost/gambas/trunk@4841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-17 09:12:31 +00:00
Emil Lenngren
c59b33e1bb [GB.JIT]
* BUG: Fixed some bugs.

[INTERPRETER]
* BUG: "Read ... As String"  now correctly returns a void string instead of null, if it read an empty string.



git-svn-id: svn://localhost/gambas/trunk@4839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-16 23:45:57 +00:00
Emil Lenngren
56807e5b52 [GB.JIT]
* NEW: "Extern" functions should now work hopefully, but callbacks are still not yet implemented.
* BUG: Fix conversion Class -> Variant for non-virtual classes.
* BUG: Some minor bug fixes.

[INTERPRETER]
* BUG: Load classes from JIT should work better now.



git-svn-id: svn://localhost/gambas/trunk@4831 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-15 01:27:31 +00:00
Benoît Minisini
64fef6f598 [DEVELOPMENT ENVIRONMENT]
* BUG: If the project is read-only, the profile file is stored in the 
  process temporary directory in /tmp instead of the project directory.
* NEW: The name of profile files now follows this scheme: '.N.prof', where
  'N' is an index incremented each time the project is run.
* BUG: Toolbars and popup-menus are correctly updated at first load form
  text, source and form editors.
* BUG: Do not show or hide toolbars buttons outside of the toolbar 
  'Configure' event.

[INTERPRETER]
* NEW: The '-p' option now takes the profile file path as argument.

[GB.DEBUG]
* NEW: The profile file path can be specified on the command line.

[GB.FORM.MDI]
* NEW: Configured toolbars are drawn with a red frame.

[GB.GTK]
* BUG: Remove warnings displayed by the Control Raise() and Lower() 
  methods.
* BUG: Draw.Style methods now are correctly clipped.


git-svn-id: svn://localhost/gambas/trunk@4820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-10 14:58:45 +00:00
Benoît Minisini
7e3570bfc9 [DEVELOPMENT ENVIRONMENT]
* OPT: Use Application.Busy earlier when opening a project.

[WIKI CGI SCRIPT]
* BUG: Fix links with explicit version.

[INTERPRETER]
* BUG: Setting System.Profile does not crash the interpreter anymore when
  profiling has not been activated by the '-p' command-line flag.

[GB.FORM]
* NEW: FileChooser and DirChooser: It is now possible to move up one 
  directory even if we are on the root of the current bookmark.

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

[GB.XML.RPC]
* BUG: Fix component requirements.


git-svn-id: svn://localhost/gambas/trunk@4806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-03 22:21:24 +00:00
Benoît Minisini
2170ea1471 [INTERPRETER]
* BUG: Really fix use of static classes as extern function argument.


git-svn-id: svn://localhost/gambas/trunk@4801 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 16:41:45 +00:00
Benoît Minisini
46e0ab1dd3 [INTERPRETER]
* BUG: Better class loading fix.


git-svn-id: svn://localhost/gambas/trunk@4799 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 10:02:47 +00:00
Benoît Minisini
636387d335 [INTERPRETER]
* BUG: Fix class loading so that circular dependencies between class 
  initialization is possible.
* NEW: Exported classes are now completely initiliazed at startup. It may
  break some things...


git-svn-id: svn://localhost/gambas/trunk@4798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 10:00:35 +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
c1decfddfd [INTERPRETER]
* BUG: Enumerating the Param class does not leak memory in some cases 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-28 08:08:36 +00:00
Benoît Minisini
8fff3e69bd [GB.JIT]
* NEW: Debugging information is printed as soon as the GB_JIT environmental 
  variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed. 
  Normally, a crash should occur just after. :-)


git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 22:24:13 +00:00
Emil Lenngren
b12caea4f6 [INTERPRETER]
* BUG: Fix IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4773 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 19:01:04 +00:00
Benoît Minisini
b3eba7f652 [INTERPRETER]
* NEW: You can free a null pointer.


git-svn-id: svn://localhost/gambas/trunk@4772 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:45:21 +00:00
Emil Lenngren
073a6d9e90 [INTERPRETER]
* OPT: Don't allocate array for jit functions if not necessary.



git-svn-id: svn://localhost/gambas/trunk@4770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:27:16 +00:00
Benoît Minisini
76f3885a08 [SCRIPTER]
* BUG: Do not crash when compiling a program again.

[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c


git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:31:57 +00:00
Emil Lenngren
406d250935 [GB.JIT]
* NEW: Use special add, sub, mul, compi for JIT Compiler Runtime.



git-svn-id: svn://localhost/gambas/trunk@4766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:49:16 +00:00
Benoît Minisini
8e6dbfa273 [INTERPRETER]
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
  gbx_subr_common.h'.


git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:39:02 +00:00
Benoît Minisini
327add9439 [GB.DEBUG]
* NEW: The component is hidden now.
* BUG: Do not crash anymore when profiling Eval().

[GB.JIT]
* NEW: The component is hidden now.


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00
Benoît Minisini
6b2e5d0776 [CONFIGURATION]
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.

[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling. 
  Function calls keep being profiled. That way the IDE can read the profiled
  output without crashing!


git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 21:35:58 +00:00
Benoît Minisini
947e201117 [INTERPRETER]
* BUG: Now System.Profile has no effect if the project has not been started 
  in profiling mode from the IDE.


git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 20:15:32 +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
d356f49366 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the profiling GUI.

[EXAMPLES]
* OPT: Little optimization in GameOfLife example.

[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
  profiling at run time. Profiling can only be enabled if debugging
  information are available.

[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.


git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 22:13:58 +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
b5c6820986 [INTERPRETER]
* NEW: Allow to profile time spent waiting for events.

[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
  are function calls.

[GB.GTK]
* NEW: Profile time spent waiting for events.

[GB.QT4]
* NEW: Profile time spent waiting for events.


git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 17:58:34 +00:00
Benoît Minisini
f93affd8e9 [DEVELOPMENT ENVIRONMENT]
* NEW: Display callees and callers in the profile window.
* NEW: Display profiling of each line of code.

[INTERPRETER]
* NEW: Activate profiling at the line of code level. Beware, things become
  slower!

[GB.DEBUG]
* NEW: Fix profiling at the line of code level.

[GB.FORM]
* NEW: GridView: Add a Scroll() method.

[GB.QT4.EXT]
* NEW: Editor: Add a ScrollBar property.
* NEW: Editor: Add ScrollX and ScrollY properties.
* NEW: Editor: Add a Scroll method.


git-svn-id: svn://localhost/gambas/trunk@4745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 02:21:43 +00:00
Benoît Minisini
be04525e53 [INTERPRETER]
* BUG: Html$() works correctly again.


git-svn-id: svn://localhost/gambas/trunk@4744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 23:10:12 +00:00
Benoît Minisini
e95ebcae24 [INTERPRETER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.

[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.


git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 21:35:26 +00:00
Benoît Minisini
8b6cf089ae [INTERPRETER]
* NEW: gb.ShortDate and gb.MediumDate predefined date formats now always 
  display years with four digits.


git-svn-id: svn://localhost/gambas/trunk@4741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 12:15:51 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.

[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event 
  handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
  callback.

[GB.DEBUG]
* NEW: Support for profiling.

[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are 
  changed.
* BUG: Fix a crash when changing the IconPanel Count property.

[GB.GTK]
* BUG: Fix the Font.Copy() method.


git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 02:55:05 +00:00
Benoît Minisini
3f26a4e538 [INTERPRETER]
* BUG: Disable debugging messages in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4736 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 22:47:16 +00:00
Benoît Minisini
217c3d9f94 [INTERPRETER]
* BUG: Activate debugging messages in signal management routines.

[GB.GTK]
* NEW: Implement the _NET_MOVERESIZE_WINDOW way of moving windows.
* BUG: Window state (Minimized, Maximized and FullScreen properties) is now 
  accurately returned.


git-svn-id: svn://localhost/gambas/trunk@4735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 21:42:28 +00:00
Benoît Minisini
4a52486b1d [INTEPRETER]
* BUG: Fix race conditions in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4734 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 18:05:57 +00:00
Benoît Minisini
c095cd3f98 [EXAMPLES]
* NEW: PhotoTouch and MediaPlayer examples now use the gb.gui component.

[GB.GTK]
* NEW: Make GTK+ controls borderless, so that they are "transparent" like 
  gb.qt4 controls. This is work in progress! The PhotoTouch example now 
  works correctly with gb.gtk, the brightness dialog excepted.
* BUG: ScrollBars are correctly initalized now.
* BUG: Container.Find() does not take hidden controls into account anymore.

[GB.IMAGE]
* BUG: Image.Opacity() can handle images with premultiplied alpha correctly 
  now.

[GB.FORM]
* BUG: IconView: Item text is ellipsized without printing GTK+ warnings 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 01:22:45 +00:00
Benoît Minisini
5917f3b3fe [INTERPRETER]
* BUG: Fix a crash in the &/ operator.


git-svn-id: svn://localhost/gambas/trunk@4725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 23:49:07 +00:00
Benoît Minisini
659f1bf51f [INTERPRETER]
* BUG: Fix a crash when using 'gb.Like' comparison flag.


git-svn-id: svn://localhost/gambas/trunk@4724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 12:04:20 +00:00
Benoît Minisini
4afe7caf6b [INTERPRETER]
* BUG: Disable debugging messages from signal management routines.

[GB.SIGNAL]
* NEW: Call previous signal handlers automatically when a specific signal 
  is catched.


git-svn-id: svn://localhost/gambas/trunk@4722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-08 17:15:54 +00:00
Benoît Minisini
30f9a40f2b [INTERPRETER]
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.

[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.


git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-08 15:32:33 +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
a6e9f61ee1 [CONFIGURATION]
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.

[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.

[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous 
  'main' hook, so that several hooks can be declared.

[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.

[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
  interpreter API.
* NEW: Allows multiple 'main' hooks.

[GB.QT4]
* NEW: Allows multiple 'main' hooks.


git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 00:04:51 +00:00
Benoît Minisini
9a4019ba1e [INTERPRETER]
* BUG: The byte position to utf-8 position caching routine now works in all 
  cases.


git-svn-id: svn://localhost/gambas/trunk@4689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-29 00:24:14 +00:00
Benoît Minisini
8fc3cb2d90 [INTERPRETER]
* BUG: Fix precision in both string to Float and Float to string 
  conversions.


git-svn-id: svn://localhost/gambas/trunk@4688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 15:08:24 +00:00
Benoît Minisini
f3645e57f7 [INTERPRETER]
* BUG: Fix string to Float parser again.


git-svn-id: svn://localhost/gambas/trunk@4686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 02:53:51 +00:00
Benoît Minisini
3521ec2b25 [INTERPRETER]
* BUG: Ignore non-significant decimal digits when converting a String to a 
  Float. In other words, now 2.0 = 2.


git-svn-id: svn://localhost/gambas/trunk@4685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 02:31:48 +00:00
Benoît Minisini
fe80c39a69 [INTERPRETER]
* BUG: Remove the use and the definition of long double mathematic 
  functions. They are not used anymore.


git-svn-id: svn://localhost/gambas/trunk@4679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 21:12:03 +00:00
Benoît Minisini
88e37a5cff [INTERPRETER]
* BUG: gb.MediumTime does not try to use AM/PM if AM/PM is not supported 
  by the current language.


git-svn-id: svn://localhost/gambas/trunk@4677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 18:47:49 +00:00
Benoît Minisini
79c16878be [INTERPRETER]
* NEW: Do not raise an error when a file path cannot be converted to the 
  local charset. Just do not make the conversion.
* BUG: Freeing any Stream object now automatically closes it.
* BUG: Stream.ReadLine() with no second argument does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@4664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 16:02:35 +00:00
Benoît Minisini
de083e583d [GB.LIBXML]
* NEW: Rename the gb.xml component as gb.libxml.

[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt

[GB.LIBXML.RPC]
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc


git-svn-id: svn://localhost/gambas/trunk@4640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 01:01:48 +00:00
Benoît Minisini
360f0bab3f [INTERPRETER]
* BUG: Correctly raise errors when running an external process fails.


git-svn-id: svn://localhost/gambas/trunk@4628 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-14 23:35:33 +00:00
Benoît Minisini
2e7c12703f [INTERPRETER]
* NEW: Call the error hook before printing the error message on the 
  standard error output.


git-svn-id: svn://localhost/gambas/trunk@4623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-13 22:11:51 +00:00
Benoît Minisini
a9cddc969e [INTERPRETER]
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.

[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.

[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.


git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-11 00:27:18 +00:00
Benoît Minisini
0fa9944088 [DEVELOPMENT ENVIRONMENT]
* BUG: In the open project dialog, setting the recent files sorting mode 
  now correctly takes the filter into account.

[WEBSITE MAKER]
* NEW: Add Randall Morgan in the authors list.

[INTERPRETER]
* BUG: In memory checking routines, take previous SIGSEGV and SIGBUS signal
  handlers into account now.


git-svn-id: svn://localhost/gambas/trunk@4576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-29 16:43:01 +00:00
Benoît Minisini
7ecc12bfe8 [GB.GTK]
* BUG: Do not try to change the background color of menus. It breaks GTK+
  widget style like Ambiance.

[GB.WEB]
* BUG: Setting a Request value to NULL now works as expected.


git-svn-id: svn://localhost/gambas/trunk@4573 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-28 21:55:19 +00:00
Benoît Minisini
91556cac06 [DEVELOPMENT ENVIRONMENT]
* NEW: The debug window has a button to switch between "normal view" and 
  "symbol view". In "normal view", array and collection contents are
  displayed. If the object is not an array or a collection, then all
  non-hidden symbols are displayed. In "symbol view", all objects symbols 
  are displayed, whatever the object type is.

[INTERPRETER]
* NEW: The debugger now can display collection-like objects. An object can 
  be displayed like a collection if it has a Count property, is enumerable,
  has a _get special method taking a string, and has a Key property that 
  returns the key of the last enumerated element.

[GB.DEBUG]
* NEW: The debugger now can display collection-like objects. An object can 
  be displayed like a collection if it has a Count property, is enumerable,
  has a _get special method taking a string, and has a Key property that 
  returns the key of the last enumerated element.

[GB.FORM]
* BUG: GridView.Clear resets the height of all rows to the default value.


git-svn-id: svn://localhost/gambas/trunk@4558 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-17 02:05:31 +00:00
Benoît Minisini
4eb6ac2fa2 [INTERPRETER]
* NEW: INPUT now only read strings. It does not convert the read string 
  with Val() anymore.
* BUG: IIf() and [...] do not accept non-value datatypes (Class and 
  Function).
* NEW: Start supporting displaying Collection-like classes in the debugger.


git-svn-id: svn://localhost/gambas/trunk@4557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 21:41:38 +00:00
François Gallo
146f0c41f7 [INTERPRETER]
* BUG: the exp10() function works on FreeBSD now. 



git-svn-id: svn://localhost/gambas/trunk@4556 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 15:47:19 +00:00
François Gallo
54c9745f4c [INTERPRETER]
* BUG: The exp10() function is temporarily removed
  from gbx on FreeBSD because of the BSD libc that
  doesn't have this one.

[GB.V4L]
* NEW: compile with success on FreeBSD



git-svn-id: svn://localhost/gambas/trunk@4555 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 13:05:44 +00:00
Benoît Minisini
08fead2ea4 [INTERPRETER]
* NEW: INPUT returns the read string if it cannot be converted to any 
  number or date.


git-svn-id: svn://localhost/gambas/trunk@4552 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 12:26:37 +00:00
Benoît Minisini
ca8bc989dd [INTERPRETER]
* BUG: Fix the behaviour of INPUT so that it uses Val() again to convert 
  the values read from the stream.


git-svn-id: svn://localhost/gambas/trunk@4549 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 01:57:30 +00:00
Benoît Minisini
fc62ec2a34 [INTERPRETER]
* BUG: INPUT does not leak memory anymore.


git-svn-id: svn://localhost/gambas/trunk@4545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-13 02:39:10 +00:00
Benoît Minisini
d584cf1121 [DEVELOPMENT ENVIRONMENT]
* NEW: Font size options has been renamed as "Default font size" and "Small
  font size". The small font size is now used for all toolbars.
* NEW: The help browser proxy can be configured.

[GB.FORM]
* NEW: The stock icon named "earth" has been renamed as "internet".

[GB.QT4]
* BUG: If a form is defined as being not visible, then using it as a 
  startup form won't show it.

[GB.QT4.WEBKIT]
* NEW: WebSettings.DefaultProxy is a new constant for using the default 
  proxy configuration.


git-svn-id: svn://localhost/gambas/trunk@4543 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-12 01:48:49 +00:00
Benoît Minisini
e2dc7e9954 [INTERPRETER]
* BUG: Fix String.Left$() when the second argument is greater than the 
  string length.


git-svn-id: svn://localhost/gambas/trunk@4542 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-11 14:26:52 +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
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
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
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
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
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