* 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: 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
* 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: 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: 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: 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
* 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: 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
* 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
* 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
* 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
* 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