Commit graph

34 commits

Author SHA1 Message Date
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
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
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
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +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
3407013046 [DEVELOPMENT ENVIRONMENT]
* NEW: In the library tab of the project property dialog, display the
  dependencies of the libraries.
* NEW: Add a button to only display exported classes in the project tree.

[INTERPRETER]
* NEW: Loading a user library now automatically loads the other libraries
  it depends on, as well as the components.

[GB.FORM]
* BUG: Fix orientation of "clear" stock icon for KDE4.


git-svn-id: svn://localhost/gambas/trunk@4024 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-21 02:27:16 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
b936c83f0d [CONFIGURATION]
* NEW: Update copyright strings.

[DEVELOPMENT ENVIRONMENT]
* NEW: Display menu shortcuts inside the form editor.


git-svn-id: svn://localhost/gambas/trunk@3670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 00:04:10 +00:00
Benoît Minisini
6a15492e9c [INTERPRETER]
* NEW: The scaring change. IsByte(), IsShort(), IsSingle(), IsString(), 
  IsPointer(), IsObject() and IsVariant() have been removed. IsNull() has
  been kept unchanged.
* NEW: IsInteger() now returns if a string can be converted to an Integer
  number.
* NEW: IsLong() now returns if a string can be converted to an Integer or a
  Long number.
* NEW: IsFloat() now returns if a string can be converted to a Float, but
  not an Integer or a Long.
* NEW: IsNumber() now returns if a string can be converted to an Integer, a
  Long or a Float.
* NEW: IsDate() now returns if a string can be converted to a Date.
* NEW: Str(True) and Str(False) now use the translation of the "True" and
  "False" string, if they exist in the current project.
* NEW: Val() now uses the translation of the "True" and "False" string, if 
  they exist in the current project.


git-svn-id: svn://localhost/gambas/trunk@3329 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 23:00:08 +00:00
Benoît Minisini
8aac47f84d [EXAMPLES]
* BUG: Fix the Database example.

[INTERPRETER]
* BUG: Fix unchecked system calls.

[ARCHIVER]
* BUG: Prevent the archiver from putting the executable file into itself, 
  leading to a endless growing generated file.
* NEW: Files having the ".gambas" extension are now excluded from 
  executable archives.

[GB.DB.FORM]
* BUG: Remove the DataBrowser.Adjust property.


git-svn-id: svn://localhost/gambas/trunk@3272 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-31 22:05:29 +00:00
Benoît Minisini
53560dd374 [INTERPRETER]
* BUG: Dir() and RDir() on "" or "." should be fixed now.


git-svn-id: svn://localhost/gambas/trunk@3028 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 19:06:11 +00:00
Benoît Minisini
b3db598050 [DEVELOPMENT ENVIRONMENT]
* BUG: Breakpoints are correctly reset when opening a new project.

[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API 
  signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.

[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
  automatically converted to uppercase.


git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-04 23:48:53 +00:00
Benoît Minisini
3412ce6442 [CONFIGURATION]
* NEW: Object file format has changed, so bytecode version has been 
  incremented, and all projects must be recompiled. Yes, again!

[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.

[COMPILER]
* OPT: Optimize symbol lookup tables.

[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more 
  intelligently now.


git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-27 13:51:09 +00:00
Benoît Minisini
117f2ac635 [INTERPRETER]
* NEW: New GB.NewZeroString() API to create a Gambas string from a 
  null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.

[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.


git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 18:02:34 +00:00
Benoît Minisini
cc6dfc0e33 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix and enhance Gambas 2 project conversion.

[GB.QT4]
* BUG: Allow control resizing whatever the arrangement of its container, 
  provided that its Ignore property is set.


git-svn-id: svn://localhost/gambas/trunk@2920 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-28 00:17:12 +00:00
Benoît Minisini
d49fe17d83 [DEVELOPMENT ENVIRONMENT]
* NEW: Remove any use of Component.UserPath and any reference to "user 
  component".
* NEW: "libraries" management. Libraries are defined in a new tab of the
  projet property dialog. At the moment, libraries exported classes are not
  taken into account by the automatic completion.
* NEW: The ESC key now closes the help browser.
* BUG: Correctly translate compilation error messages.

[INTERPRETER]
* NEW: "libraries" management.
* NEW: The Component.UserPath property has been removed.
* BUG: Evaluating "Application.Path" or "Application.Name" on the command 
  line does not crash anymore.

[COMPILER]
* BUG: Enhance translation of some error messages.
* NEW: Take libraries into account for exported class declarations.

[ARCHIVER]
* NEW: new "-x" option to extract a file from an archive.

[GB.QT4.EXT]
* NEW: Be more clever when deciding if a line has been modified after 
  having its last character deleted.


git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-25 10:46:57 +00:00
Benoît Minisini
bb6f47038e [INTERPRETER]
* NEW: New interpreter API to browse the project contents.
* BUG: RDir(".") does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@2861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-05 01:44:43 +00:00
Benoît Minisini
47d0aa711c [CONFIGURATION]
* NEW: Architecture detection.
* NEW: Updated libtool macros.

[DEVELOPMENT ENVIRONMENT]
* NEW: Highlight the current procedure in the editor procedure popup.

[INTERPRETER]
* BUG: Alignment fixes for the ARM architecture.

[GB.DRAW]
* NEW: Start implementing the new Paint interface.

[GB.GTK]
* BUG: GridView.Clear is now correctly implemented.


git-svn-id: svn://localhost/gambas/trunk@2505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-24 02:02:05 +00:00
Benoît Minisini
669820173b [INTERPRETER]
* NEW: The constructor arguments must follow the inheritance order from top 
  to bottom, and not from bottom to top as before. This way, the 
  constructor of the bottom class can have optional arguments.


git-svn-id: svn://localhost/gambas/trunk@2448 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-30 04:25:48 +00:00
Benoît Minisini
f65184802d [CONFIGURATION]
* NEW: Update copyright and license string in all source files.


git-svn-id: svn://localhost/gambas/trunk@2241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 10:41:51 +00:00
Benoît Minisini
0082ebc8db [GB.DBUS]
* BUG: Fix the "DBus class declared twice" error. The DBus class in the C 
  part has been renamed "_DBus" so that it does not conflict anymore with 
  the DBus class declared in the gambas part.


git-svn-id: svn://localhost/gambas/trunk@2223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-07 18:14:26 +00:00
Benoît Minisini
caa1b5aac6 [INTERPRETER]
* NEW: The _unknown() method is now correctly called when reading *and* 
  writing unknown properties. _unknown() is called with no arguments when
  reading the property, and with one argument (the new property value) when 
  writing it.
* BUG: Classes declared in the Gambas part of a component now should 
  correctly override classes declared in the C/C++ part.

[GB.DBUS]
* NEW: Hide native methods of the DBus class.
* NEW: The syntax for calling a method is:
  DBus[<Application>][<Object>,<Interface>].<Method>(<Arguments>)
  <Application> can be prefixed by "system://" to access the system bus.
* NEW: Properties are readable and writable with this syntax:
  DBus[<Application>][<Object>,<Interface>].<Property>
* NEW: DBusVariant is a new class that allows to send a Variant to a DBus 
  method by specifying is DBus type. Otherwise, when using Variant 
  directly, the associated DBus type is guessed automatically, which may 
  not be accurate is some cases.


git-svn-id: svn://localhost/gambas/trunk@2218 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-05 16:14:08 +00:00
Benoît Minisini
2308a3b1b9 [INTERPRETER]
* BUG: Exist("") now correctly returns FALSE when running an executable.


git-svn-id: svn://localhost/gambas/trunk@2088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-07 16:37:56 +00:00
Benoît Minisini
637b19afb9 [INTERPRETER]
* NEW: Do not call the "_init" static initializer of exported classes at
  component load. Do it when the class is used for the first time.


git-svn-id: svn://localhost/gambas/trunk@1977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-25 13:43:44 +00:00
Benoît Minisini
fdabd0c98c [CONFIGURATION]
* NEW: The gb.qte component has been removed.

[DEVELOPMENT ENVIRONMENT]
* NEW: Support for modules in project file deletion.

[INTERPRETER]
* BUG: Format$() now checks its second argument correctly when it is an 
  integer.
* BUG: Exported classes for components written in Gambas are now correctly 
  loaded when inheritance between them is used.

[GB.DRAW]
* BUG: Some properties of the Draw class didn't correctly check that a 
  drawing device was opened.

[GB.FORM.MDI]
* NEW: The Toolbar control now raises a Configure event when its 
  configuration has changed.

[GB.GTK]
* BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.
* BUG: Correctly initialize the foreground and background colors at 
  Draw.Begin().

[GB.QT]
* BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.

[GB.QTE]
* NEW: This component has been removed.


git-svn-id: svn://localhost/gambas/trunk@1939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-01 16:27:45 +00:00
Benoît Minisini
82e21c25f3 [INTERPRETER]
* BUG: Always load a class from the component it is located into.


git-svn-id: svn://localhost/gambas/trunk@1793 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-09 14:07:56 +00:00
Benoît Minisini
4270c30d20 [DEVELOPMENT ENVIRONMENT]
* NEW: Actions lists are now written directly in *.form files. The 
  compiler will copy them into *.action files in the '.action' project 
  directory.

[WIKI CGI SCRIPT]
* NEW: The "?view" argument in URLs is now kept through links.

[INTERPRETER]
* BUG: Paths beginning with "../" now work correctly with executables.
* BUG: Fix a crash when using Dir() on relative paths.

[COMPILER]
* NEW: Now the compiler automatically generates *.action files from the 
  *.form file contents.

[GB.FORM.MDI]
* BUG: Support for the new action file format in the action configuration 
  dialog.
* BUG: Bad shortcuts are correctly handle in the action configuration 
  dialog now.


git-svn-id: svn://localhost/gambas/trunk@1782 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-04 18:55:25 +00:00
Benoît Minisini
e3b1014b8f [INTERPRETER]
* BUG: Dir() and RDir() work again on relative paths.


git-svn-id: svn://localhost/gambas/trunk@1771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-02 17:15:07 +00:00
Benoît Minisini
abdd0a0866 [DEVELOPMENT ENVIRONMENT]
* NEW: Start assigning actions to everything.
* NEW: Action shortcuts can be configured.
* NEW: Project actions are automatically saved in the .action directory.
* BUG: Signature of native arrays is correct now.

[INTERPRETER]
* BUG: GB_LoadFile() does not leak file descriptors anymore.
* NEW: Relative paths starting with "../" allows to open files located in 
  the main archive from a component.

[ARCHIVER]
* NEW: Store the ".action" directory in the archive.

[GB.DB]
* BUG: Correctly check that table name are not void in Create(), Find(), 
  Edit() and Delete() methods.

[GB.FORM]
* NEW: A new stock icon named "shortcut". Mmm... Should be named 
  "keyboard".

[GB.FORM.MDI]
* NEW: Support for automatic configuration of action shortcuts.
* NEW: Action.Configure() is a new method that opens a dialog for 
  configuring shortcuts. Shortcut configuration is stored in the 
  application setting files, under the '[gb.form.mdi/Shortcuts]' slot.

[GB.QT]
* NEW: Action[].Shortcut is a new property for setting or getting the 
  shortcut of an action.
* BUG: Correctly opens startup forms again.


git-svn-id: svn://localhost/gambas/trunk@1758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-12-31 15:55:40 +00:00
Benoît Minisini
11f6575f51 [CONFIGURATION]
* NEW: Update libtool to version 1.5.24

[INTERPRETER]
* BUG: Lof() returns the correct value for files opened for writing.
* BUG: Dir() and RDir() now work correctly on relative paths.

[GB.WEB]
* BUG: Read and write sessions inside a system lock to prevent two 
  processes from writing the same session at the same time, and then
  corrupting it.


git-svn-id: svn://localhost/gambas/trunk@1666 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-02 02:40:10 +00:00
Laurent Carlier
edb9e54bb4 [OPENBSD]
* BUG: Revert strlcpy/strlcat/snprintf, they are not really needed, and introduce potentially more bugs.



git-svn-id: svn://localhost/gambas/trunk@1080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-18 23:07:24 +00:00
Benoît Minisini
4c02c6d338 ******** Merged /branches/64bits r918:1003 into /trunk
[CONFIGURATION]
* NEW: 64 bits port.

[EXAMPLES]
* BUG: Fixed the AnalogWatch example.

[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.

[INTERPRETER]
* NEW: The extern function implementation has been redesigned and is now
  based on libffi, so that it works on 64 bits system. Because of a flaw in
  the compiler design, projects that use the Pointer datatype must be
  recompiled to be used on a 64 bits system. This flaw will be fixed in
  Gambas 3.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
  for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.

[COMPILER]
* BUG: Correctly compiles LONG constants inside code.

[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
  libraries.

[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
  now.

[GB.GTK]
* BUG: Modified the GLib priority of watched descriptors, as the main loop 
  could enter in a loop in which user interface events were not managed.
* BUG: Message boxes use application title without crashing now.

[GB.OPENGL]
* BUG: Disable dead code.

[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
  read-only properties.

[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.


git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-17 21:39:26 +00:00
Laurent Carlier
7cc7c5eaaa Remove a lot of OS_OPENBSD check, move a lot of strcpy to strlcpy, strcat to strlcat and sprintf to snprintf. Only few of them are left.
git-svn-id: svn://localhost/gambas/trunk@919 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-06 20:06:44 +00:00
Benoît Minisini
ba19f3c1dd * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas
git-svn-id: svn://localhost/gambas/trunk@893 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2007-12-30 16:41:49 +00:00