[INTERPRETER]
* NEW: gb.Match is a new constant that indicates a string comparison using the PCRE MATCH operator.
* BUG: The gb.Descent flag could be erased when sorting objects implementing the '_compare' special method.
[INTERPRETER]
* BUG: Correctly attach newly created objects.
* BUG: Lof() should work correctly now on streams having a specific implementation of Lof() function.
[COMPILER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
[INTERPRETER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
[COMPILER]
* NEW: New syntax for octal numbers: "&Oxxx".
[INTERPRETER]
* NEW: New syntax for octal numbers: "&Oxxx".
[GB.EVAL]
* NEW: New syntax for octal numbers: "&Oxxx".
* OPT: RDir() now does less stat() system calls, by assuming that the number of hard links of a directory is its number of sub-directories plus two.
Scanning my home directory calls stat() about 640,000 times instead of 715,000 before. About a 10% gain.
[INTERPRETER]
* BUG: Translate comments in english.
* BUG: Take '\' escape character into account correctly in format strings.
* BUG: Remove undocumented feature in format strings.
[INFORMER]
* NEW: Components now can include information for a list of alternatives component. The first one available will be included.
[GB.GUI]
* NEW: Includes information of the first available gui component.
[GB.GUI.OPENGL]
* NEW: Includes information of the first available gui OpenGL component.
[GB.GUI.QT]
* NEW: Includes information of the first available Qt component.
[GB.GUI.QT.WEBKIT]
* NEW: Includes information of the first available Qt webkit component.
[INTERPRETER]
* NEW: Initialize pseudo-terminals with ECHO and don't clear OCRNL flag. This is not compatible with previous versions, as now, by default, printing a NL will become CR+NL through the pseudo-terminal.
But I didn't succeed in modifying the pseudo-terminal reliably once the child has started. It sometimes fails silently.
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.
[GB.TERM]
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.
[GB.FORM.TERMINAL]
* OPT: TerminalView: Reorder some tests in escape codes analyze.
* NEW: TerminalView: The mouse wheel now sends up and down keys when we are not in mouse mode, and if there is nothing to scroll.
[DEVELOPMENT ENVIRONMENT]
* BUG: Terminal: Replace "\n" by "\r\n" when sending text to the output terminal.
[INTERPRETER]
* NEW: When a process is run with a pseudo-terminal, don't set the ECHO flag, and clear the ONLCR flag.
That way, the data printed on the standard output is the same as when the process is not run in a pseudo-terminal.
[GB.FORM.TERMINAL]
* BUG: TerminalView: Output filter now works correctly when it receives incomplete data.
* OPT: TerminalViews: Resize the terminal less often when the terminal view is resized.
* NEW: TerminalView: When a process is run inside the terminal, set the ECHO and ONLCR flags automatically.
[INTERPRETER]
* BUG: Fix pseudo-terminal initialization when running an external process with Exec or Shell.
[COMPILER]
* BUG: Fix a typo in 'gbc_trans.h' header.
[INTERPRETER]
* BUG: Process.Wait() does not freeze anymore when the child process actually ends before checking the end of the process just after having run it.
* OPT: Editor: Some optimizations in identifier completion.
* NEW: Image editor: Add an opacity effect.
* NEW: Update backround images.
[WEBSITE MAKER]
* NEW: Update to 3.10 version.
[WIKI]
* NEW: The '{@classes}' command can take arguments to add custom classes to the list of classes.
git-svn-id: svn://localhost/gambas/trunk@8175 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Collection.First is a new property that returns the key of the first element of the collection, or NULL if the collection is void.
* NEW: Collection.Last is a new property that returns the key of the last element of the collection, or NULL if the collection is void.
git-svn-id: svn://localhost/gambas/trunk@8174 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add an API that allows to create an array class before instanciating it.
[GB.DBUS]
* BUG: When marshalling from DBus to Gambas, create the array classes before instanciating them.
git-svn-id: svn://localhost/gambas/trunk@8173 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch version to 3.10.90.
[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't raise events just after a process has been started and has just been terminated. Postpone them.
git-svn-id: svn://localhost/gambas/trunk@8142 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Check if linking with 'librt' is needed to get monotonic clock.
git-svn-id: svn://localhost/gambas/trunk@8139 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a autoconf check for monotonic clock.
[INTERPRETER]
* BUG: Use a monotonic clock (if possible) to implement the WAIT instruction.
git-svn-id: svn://localhost/gambas/trunk@8138 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
[INTERPRETER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
* BUG: The signal handler now loops until the signal pipe is void.
git-svn-id: svn://localhost/gambas/trunk@8129 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a possible bad serialization of arrays.
* BUG: Don't crash during the unserialisation of an array whose datatype has been incorrectly serialized. Raise an error instead.
git-svn-id: svn://localhost/gambas/trunk@8110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Steam.Watch() is a new method that allows to watch/unwatch a stream for reading and/or writing after it has been opened.
git-svn-id: svn://localhost/gambas/trunk@8104 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove all 'depcomp' files. Apparently they are not used anymore by autoconf.
[INTERPRETER]
* BUG: Fix some gcc 6 warnings.
[GB.DEBUG]
* BUG: Fix some gcc 6 warnings.
[GB.GTK]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.
[GB.GTK3]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.
[GB.IMAGE]
* BUG: Fix some gcc 6 warnings.
git-svn-id: svn://localhost/gambas/trunk@8101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The GB.SystemHasForked() API now resets the pseudo-random number generator, and the signal handler management pipe.
git-svn-id: svn://localhost/gambas/trunk@8089 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Make component compile with gcc 6.
[INTERPRETER]
* BUG: Include <cmath> instead of <math.h> for components written in C++, so that they compile with gcc 6.
[GB.GTK]
* BUG: Make component compile with gcc 6.
[GB.GTK3]
* BUG: Make component compile with gcc 6.
[GB.QT4]
* BUG: Make component compile with gcc 6.
[GB.QT5]
* BUG: Make component compile with gcc 6.
git-svn-id: svn://localhost/gambas/trunk@8088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Detection of svn commit version now works with older version of subversion.
git-svn-id: svn://localhost/gambas/trunk@8064 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Automatically restart mkfifo() and open() system calls when executing the PIPE instruction.
git-svn-id: svn://localhost/gambas/trunk@8053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Tasks do not inherit signal handler pipe anymore, they recreate it instead. Otherwise you have interferences with the parent process of the task, and some signals are lost.
* BUG: Buffered streams now take the internal stream flag "available_now" into account. No idea why that was disabled.
* BUG: Standard streams now set the internal stream flag "available_now" if they are not connected to a terminal. Which may not be necessarily accurate, so it is a temporary change.
git-svn-id: svn://localhost/gambas/trunk@8052 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update french translation.
* NEW: Support for the new gb.term component.
[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.
[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.
git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Forbid continuing and stay in debugger when an unhandled error is raised. This prevent crashes when an error occurs during variable initialization.
git-svn-id: svn://localhost/gambas/trunk@8031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not crash anymore when converting a pointer to an anonymous object. Raise an error instead.
git-svn-id: svn://localhost/gambas/trunk@8030 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Close watched process input & outputs as soon as it is killed. Otherwise, running two processes using virtual terminals successively may fail.
git-svn-id: svn://localhost/gambas/trunk@7997 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't assume inotify_add_watch() succeeds in all cases. The watched path may have been deleted after the watch has been created.
git-svn-id: svn://localhost/gambas/trunk@7996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Debugger does not crash anymore when displaying a static collection-like object.
git-svn-id: svn://localhost/gambas/trunk@7995 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Make CStr() and CDate() mutually coherent, by internally converting to UTC dates only.
git-svn-id: svn://localhost/gambas/trunk@7983 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Debugger: Use the 'gb.signal' component to send signals to debugged processes.
* BUG: Debugger: Correctly pause projects using an external terminal.
[GB.SIGNAL]
* NEW: Signal.Send() is a new method to send signals to processes. It is just a direct interface to the kill() system call.
git-svn-id: svn://localhost/gambas/trunk@7982 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Connection.ApplyTemplate() now correctly handles a collation whose name is "default" in the template file.
git-svn-id: svn://localhost/gambas/trunk@7941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Creating a watch with a null path now raises an error instead of crashing.
git-svn-id: svn://localhost/gambas/trunk@7940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Timer delay is now stored in 31 bits, and so can now be up to 2^31 - 1 milliseconds, i.e. about 24 days, 20 hours and 31 seconds.
git-svn-id: svn://localhost/gambas/trunk@7925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The translation file of the project is now always correctly loaded. That was a very old bug.
git-svn-id: svn://localhost/gambas/trunk@7919 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Define "__STDC_FORMAT_MACROS" macro in 'gb_common.h', so that C++ source files using '<inttypes.h>' compile even with old gcc versions.
git-svn-id: svn://localhost/gambas/trunk@7891 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix internal datatype analyze. The compiler should not crash anymore on ARM.
[GB.DB.ODBC]
* BUG: Fix a 32-bits 'sprintf' format bug.
[GB.IMAGE.IO]
* BUG: Fix a 32-bits 'sprintf' format bug.
[GB.XML]
* BUG: Fix a 32-bits 'sprintf' format bug.
git-svn-id: svn://localhost/gambas/trunk@7887 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly call static event handlers when an event is raised.
git-svn-id: svn://localhost/gambas/trunk@7884 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: MenuButton: Take foreground color into account correctly.
* BUG: MenuButton: Clip text so that arrow is always clearly visible.
* BUG: MenuButton: Take the Design property into account correctly.
git-svn-id: svn://localhost/gambas/trunk@7864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Database connection: Now you can initialize a new database from the template of another connection of the project.
git-svn-id: svn://localhost/gambas/trunk@7850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Force symbolic link creation.
[GB.WEB]
* BUG: Fix Session.Keys for SQLite sessions.
[GB.IMAGE]
* BUG: Image.Desaturate() now works correctly on image alpha channel.
git-svn-id: svn://localhost/gambas/trunk@7847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a memory leak in blob handling when using a PostgreSQL database.
git-svn-id: svn://localhost/gambas/trunk@7841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When searching a relative path inside an archive, ignore trailing slashes: "foo/bar/" and "/foo/bar//" are now the same as "foo/bar".
git-svn-id: svn://localhost/gambas/trunk@7837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Process.CloseInput() is a new method that explicitly closes the process input, as if you send a CTRL+D from the shell. This implements the old process stream closing behaviour that was removed in revision #7622.
git-svn-id: svn://localhost/gambas/trunk@7833 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The run button has a pop-up menu button only if at least one argument list has been defined in the project properties.
* NEW: Project property dialog: if the argument lists order changes, the current argument list index follows.
[GB.FORM]
* NEW: MenuButton: If no arrow is visible, and if no menu is defined, then the MenuButton raises the Click event.
[GB.WEB]
* NEW: Session.Type defines which kind of session store to use. At the moment, two are implemented. Session.File (the old one), and Session.Sqlite (based on a sqlite database).
[GB.WEB.FORM]
* BUG: Remove some debugging messages.
git-svn-id: svn://localhost/gambas/trunk@7829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Project property dialog: New project arguments interface.
* NEW: Debugger: The project arguments is now selectable with a popup menu.
* BUG: Fix position history behaviour.
[INTERPRETER]
* NEW: Object.Type(), Object.Class() and Object.Is() now work with invalid objects.
[GB.FORM]
* NEW: Completion: Support for TextArea editor.
* NEW: Completion: Editor property is now writable.
* NEW: TableView: Raise a new Hide event when the editor is hidden.
[GB.FORM.EDITOR]
* NEW: TextEditor: CursorAt() is a new method that returns the cursor screen position from a line and a column.
[GB.GTK]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
[GB.GTK3]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
[GB.GUI.BASE]
* BUG: GridView: Newlines in cells with WordWrap property set are now taken into account correctly.
[GB.QT4]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
[GB.QT5]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
git-svn-id: svn://localhost/gambas/trunk@7825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Search libffi in more directories to find it on CentOS.
[DEVELOPMENT ENVIRONMENT]
* NEW: Mark PlaceHolder properties as translatable.
* NEW: Make font smaller in autocompletion help.
* BUG: Reset class symbol list everytime its source file is modified.
* BUG: Form editor: Renaming a selected control does not crash anymore.
* NEW: Custom drawing for WebButton controls.
* NEW: Cleaning a project directory now deletes valgrind output files.
* NEW: "--cleanup" is a new command-line option to clean a project directory.
[GB.WEB.FORM]
* NEW: Let the IDE draw WebButton controls.
* NEW: Draw WebHtml controls using TextLabel.
* NEW: Draw WebScrollView controls using ScrollView.
git-svn-id: svn://localhost/gambas/trunk@7820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: ImageStat() now return the correct dimenstions of JPEG images.
git-svn-id: svn://localhost/gambas/trunk@7813 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The error backtrace is now reset only when raising a new error. Consequently, the information is now kept when an error is propagated.
git-svn-id: svn://localhost/gambas/trunk@7807 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename the internal class initialization method from "$load" to "@load", so that the valid identifier "$load" can be freely used by the user.
git-svn-id: svn://localhost/gambas/trunk@7797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Stream class now can raise a Resize event. Only the standard input stream (File.In) can raise it.
* NEW: If the startup class defines an Application_Read() or an Application_Resize() event handler, then the standard input stream is attached to it with the "Application" event name, so that these event handlers are used. Otherwise, the standard input stream must be attached and watched manually.
git-svn-id: svn://localhost/gambas/trunk@7785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now you can create as many watches on the same path as you want.
* NEW: Consequently, the Watch[] static array accessor, that returned the watch associated with a path, had to be removed.
* NEW: The flags constants and the Watch.Events property are now associated with the Gambas events, not the internal inotify events.
git-svn-id: svn://localhost/gambas/trunk@7766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish the redesign of the debug panel.
[INTERPRETER]
* BUG: Fix a stack mismatch leading to a crash in Eval() when an "Unknown symbol" error occurs.
[GB.FORM]
* BUG: SidePanel: The Hide event is now raised after the SidePanel has been actually hidden.
git-svn-id: svn://localhost/gambas/trunk@7754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't raise the write callback associated with a watched file descriptor if the read callback has disabled it.
git-svn-id: svn://localhost/gambas/trunk@7748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.
git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Stream.Term.Width and Stream.Term.Height are two new properties that return the size of the terminal associated with the stream, if any.
* NEW: As soon as the terminal size is read on any stream with the previous properties, the SIGWINCH signal is watched, and the Application_Resize() public method of the startup class is called each time this signal is catched, meaning that the terminal has been resized.
git-svn-id: svn://localhost/gambas/trunk@7735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Subst$() now does not crash anymore when its result is a void string.
git-svn-id: svn://localhost/gambas/trunk@7726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add 'gb.form.terminal' to the component list.
* NEW: New component status icons.
[INTERPRETER]
* BUG: Correctly export Stream.Term description.
* NEW: Stream.Term.FlowControl is a new property that allows to set or retrieve if flow control is enabled on a terminal stream.
[GB.GTK]
* NEW: Change the name of 'NewChild' event argument.
[GB.GTK3]
* NEW: Change the name of 'NewChild' event argument.
[GB.QT4]
* NEW: Change the name of 'NewChild' event argument.
[GB.QT5]
* NEW: Change the name of 'NewChild' event argument.
[GB.FORM.TERMINAL]
* NEW: Support for the 'Set title' command.
* NEW: TerminalView now emits the Title event when the terminal requests a title change.
* NEW: Support for flow control. When output is suspended, the terminal contents becomes darker.
* BUG: Correctly update the scrollbar when switching between screens.
git-svn-id: svn://localhost/gambas/trunk@7714 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a possible crash in String.Code().
[GB.FORM.TERMINAL]
* OPT: Compress the attribute array associated with each line.
* OPT: Drawing line routine uses the JIT compiler.
git-svn-id: svn://localhost/gambas/trunk@7701 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a crash on one error message thrown incorrectly.
[GB.FORM.TERMINAL]
* OPT: Optimize drawing routine. Still slow, but less flicker.
* NEW: TerminalView: Add a blink property that enables or disables cursor blink.
[GB.GTK]
* BUG: Use cairo_paint() instead of cairo_fill() when Paint.Operator is not Paint.OperatorOver. Is it a Cairo bug?
[GB.GTK3]
* BUG: Use cairo_paint() instead of cairo_fill() when Paint.Operator is not Paint.OperatorOver. Is it a Cairo bug?
git-svn-id: svn://localhost/gambas/trunk@7698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Stream.Term.Echo is a new property that allows to enable or disable the terminal echo mode.
[GB.FORM.EDITOR]
* NEW: Screen management splitted from TerminalView. TerminalView has two screens now. Switch between screens is not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@7674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Stream.IsTerm is a new property that returns if a stream is a terminal.
* NEW: Stream.Term.Resize() is a new method that resizes a terminal.
git-svn-id: svn://localhost/gambas/trunk@7669 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Timer: The constructor now takes the delay as optional parameter. And if that delay is specified, the timer is automatically started.
[GB.FORM.TERMINAL]
* NEW: TerminalView: internal control that only deals with displaying the terminal contents.
git-svn-id: svn://localhost/gambas/trunk@7664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix declaration of CLASS_DESC_SYMBOL structure. The JIT compiler does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@7663 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a symbol table optimization that is disabled because it's not worth it.
* OPT: Force inlining of functions in symbol tables routines.
* OPT: A little optimization on routine string argument extraction.
git-svn-id: svn://localhost/gambas/trunk@7650 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work on internal expression datatype analyze has continued.
* OPT: Compiling syntax trees is faster now.
[INTERPRETER]
* OPT: Analyzing objects a method or a property applies to is faster now.
* NEW: Remove an unused method in table symbol implementation.
git-svn-id: svn://localhost/gambas/trunk@7647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Compile is now compiled with -O3 optimizations.
* OPT: Reserved words built-in symbol table is faster now.
* NEW: Initial support for expression datatype analyze. Some new errors are raised at compilation time, like using a string with the AND operator for example. The datatype analyzer is rougher than the IDE one because it is local to the compile class.
* OPT: Symbol table search is a bit faster.
git-svn-id: svn://localhost/gambas/trunk@7632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Collection methods now always update the Key property, being called normally or from the debugger.
* BUG: The debugger now sends the current key when enumerating collection keys.
git-svn-id: svn://localhost/gambas/trunk@7627 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly detect error when closing a process stream.
* BUG: Ignore EBADF errors when closing a stream. It means that the underlying file descriptor has already been closed.
git-svn-id: svn://localhost/gambas/trunk@7624 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now raise an error when a stream cannot be closed, instead of silently ignoring it.
git-svn-id: svn://localhost/gambas/trunk@7622 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Close a buffered stream even if fclose() fails. Temporary fix.
git-svn-id: svn://localhost/gambas/trunk@7620 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: DateDiff() correctly returns zero when asking for the number of days between two timestamps having the same date.
git-svn-id: svn://localhost/gambas/trunk@7612 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Detect the fstatat() system function.
[INTERPRETER]
* OPT: Dir() and RDir() are now 10-30% faster by using fstatat() and assuming that directories with just two hard links have no child directories (each sub-directory having one hard-link to its parent directory through the ".." entry).
git-svn-id: svn://localhost/gambas/trunk@7610 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Libraries are also searched in the current directory without version or vendor, for backward-compatibility.
git-svn-id: svn://localhost/gambas/trunk@7606 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle the current component interpreter variable when an error occurs.
git-svn-id: svn://localhost/gambas/trunk@7603 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Library specific path can be relative now. It is then relative to the project executable path.
* NEW: Libraries are now searched in the '~/.local/share/gambas3/lib' directory even if we are not in debugging mode.
git-svn-id: svn://localhost/gambas/trunk@7602 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Case insensitive comparison is now coherent whether natural comparison is specified or not.
git-svn-id: svn://localhost/gambas/trunk@7587 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Take case-sensitive databases like postgresql into account in index fields.
git-svn-id: svn://localhost/gambas/trunk@7564 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for custom expression evaluators.
[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
provided that you allow it in the IsIdentifier() method.
git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Shell$() does not try to convert into current locale anymore.
git-svn-id: svn://localhost/gambas/trunk@7542 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: _ready() is new special method that is called when an object construction is completly finished.
[COMPILER]
* NEW: Remove the call to _load() method in form constructors.
[GB.WEB.FORM]
* BUG: WebExpander: Remove a debugging message.
* NEW: WebForm.Debug is a new static property that, if set, dumps all exchanges between the server and the client in the browser console.
* NEW: Use the new _ready special method.
* NEW: WebLabel: Add the Border property.
* NEW: WebLabel: Alignment is a new property that defines the label horizontal alignment.
* NEW: A few changes in default style sheet.
git-svn-id: svn://localhost/gambas/trunk@7541 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add "-march=native" to the compilation flags. Maybe it could speed up then interpretrer a bit?
[DEVELOPMENT ENVIRONMENT]
* NEW: Connection editor: Update layout.
* NEW: Form editor: Clicking on the master selection selects the parent control.
[WEB SITE MAKER]
* NEW: Update for 3.8.4 version.
[GB.DB]
* BUG: Default values are now correctly taken into account by database templates.
[GB.DB.SQLITE3]
* BUG: Fix a possible uninitialized allocation of columns names.
[GB.UTIL]
* NEW: Class.Stat() class name argument now allows "../" in the name to search for classes in parent components.
[GB.WEB]
* NEW: Request.Language returns the main language requested by the HTTP client. This value can be directly assigned to System.Language.
* NEW: Session.Size returns the size of the session file in bytes.
[GB.WEB.FORM]
* NEW: Automatic management of favicon. The application favicon must be a file named "favicon.png" in the ".public" directory.
* NEW: The Align class for alignment constants.
* NEW: WebControl: Any control can raise a Message event now.
* NEW: The Message boxes now raise the "Message" event of the WebControl that opened the message box. If the event is not handled, then the event is raised by the WebForm of the control.
* NEW: The Select class for selection mode constants.
* BUG: WebComboBox: Define the default event.
* NEW: WebContainer: Indent is a new property that allows to add a left padding to the container.
* NEW: WebContainer: Extra children (those created after initialization) are now recreated with their event observer and event name, provided that the event observer is another WebControl.
* NEW: WebContainer: DeleteChildren() is a new method that deletes all container children.
* NEW: WebExpander: New container that implements an expander.
* NEW: WebForm: Teh application language now automatically switches to the language requested by the HTTP client.
* BUG: WebForm: Show() and ShowModal() method now raise the Open event.
* NEW: WebLabel: Add the Border property to the property list.
* NEW: WebLabel: Newlines in label text are automatically replaced by "<br>".
* NEW: WebTable: New control that implements an HTML table with automatic scrollbars. It gets its data through a Data event, and only displays the first hundred elements by default. A button allows to increase the number of displayed elements.
The 'Mode' property allows to define the selection mode. When rows are selectable, an extra columns is added, with radion buttons on single selection mode, and checkboxes on multiple selection mode. The indexes of selected rows is returned by
the 'Selection' property.
* BUG: Many fixes in the default stylesheet.
git-svn-id: svn://localhost/gambas/trunk@7536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Optional exported classes are now correctly inserted into '*.list' files.
git-svn-id: svn://localhost/gambas/trunk@7535 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix image selection when the allowed image root directory is the
'.public' special directory.
* NEW: Replace 'WebformImage' property kind by 'WebImage'.
* BUG: Form editor: Fix automatic arrangement.
* NEW: Form editor: Allow background and foreground toolbar buttons for
WebForms.
* BUG: WebImage can display SVG files too.
[GB.WEB.FORM]
* NEW: Add some new color constants to the Color class.
[GB.GEOM]
* NEW: Move the declaration of alignment constants there.
* NEW: Rect.Stretch() is a new method that stretches a rectangle so that it
fits inside another rectangle frame while keeping its proportions.
* NEW: RectF.Stretch() is a new method that stretches a rectangle so that
it fits inside another rectangle frame while keeping its proportions.
git-svn-id: svn://localhost/gambas/trunk@7505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Object.Raise() now works correctly with events having arguments.
git-svn-id: svn://localhost/gambas/trunk@7486 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the function that detects if a control needs a parent.
* BUG: When adding every new file to the subversion repository, the
'.gambas' directory is now correctly ignored.
[COMPILER]
* NEW: The _load() special method is now called just after the initial form
creation is finished.
[GB.WEB.FORM]
* NEW: Message is a new class for displaying message boxes.
* BUG: Fix management of control names.
* NEW: Implement the WebContainer.Delete() method and WebWindow.Delete()
methods. Child controls are now automatically deleted if their parent is
also deleted.
* NEW: WebControl.Show() and WebControl.Hide() are two new methods that are
synonymous of the Visible property.
* NEW: WebControl acts now like an collection-like array, so that you can
store user data associated with a control in the session.
* NEW: WebControl.Reset() is a new method to reset the control user data.
* NEW: WebForm.ShowModal() shows a form as a modal window.
* NEW: WebForm.Show() does not take an optional parent anymore. Windows are
always shown in the current form.
* NEW: Windows with no initial size are centered.
* NEW: WebImage is a new control that displays an image.
* NEW: WebLabel is a new control that displays a one-line vertically
centered label.
* NEW: WebTextArea is a new control that implements a multi-line text area.
git-svn-id: svn://localhost/gambas/trunk@7482 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize access to objects whose class is "simple", i.e. without
parent, children, special check method, and not virtual.
* OPT: Detect when automatic conversion is useless in arithmetic and
comparison operators.
* OPT: Optimize a bit inequality comparison operators.
git-svn-id: svn://localhost/gambas/trunk@7476 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Subroutine table is faster to access now.
* OPT: Don't browse temporary directory at end if no temporary file has
been used.
git-svn-id: svn://localhost/gambas/trunk@7469 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Collection.Default is a new property that allows to define the
default value returned by a collection when a key has no value. Note that
assigning the default value does not clear the key. You have to
explicitly assign NULL for that.
git-svn-id: svn://localhost/gambas/trunk@7468 867c0c6c-44f3-4631-809d-bfa615b0a4ec