* BUG: Fix symbol table search that could sometimes fail with non ASCII
characters.
[ARCHIVER]
* NEW: Add '.public' directory to executables.
* NEW: A new '-i' option not to display warnings when an information file
include fails.
git-svn-id: svn://localhost/gambas/trunk@5230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for the new 'Public' project virtual directory, which is
'.public' on the disk.
[SCRIPTER]
* NEW: Support for a new '-f- option that compile the script with JIT
compilation enabled.
[GB.DESKTOP]
* BUG: Remove _Desktop.ActivateWindow() method.
[GB.HTTPD]
* NEW: The embedded HTTP server now can serve static files located in the
'.public' hidden project directory.
git-svn-id: svn://localhost/gambas/trunk@5226 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Error messages are correctly printed when warnings are disabled.
git-svn-id: svn://localhost/gambas/trunk@5223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to 3.3.90 version.
[WEBSITE MAKER]
* NEW: Update for 3.3.2 version.
[INTERPRETER]
* NEW: New API for getting information about a file.
[GB.DESKTOP]
* NEW: _Desktop.Time is a new property that returns the last X11 timestamp.
* NEW: _Desktop.ActivateWindow() is a new method that will be removed in a
next commit.
* NEW: DesktopWindow.Activate() is a new method to activate a window.
[GB.GTK]
* NEW: New GB_INFO constant to return the last X11 timestamp to other
components.
[GB.HTTPD]
* NEW: Reindent source files.
[GB.QT4]
* NEW: New GB_INFO constant to return the last X11 timestamp to other
components.
[GB.QT4.WEBKIT]
* BUG: Fix WebHitTest.Editable property declaration.
git-svn-id: svn://localhost/gambas/trunk@5221 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Embedded window layout.
[INTERPRETER]
* NEW: The '-H' option now runs the interpreted program as a CGI script
through an embedded HTTP server.
[GB.HTTPD]
* NEW: New hidden component that embeds an HTTP server that runs the
project as a CGI script. It is activated by a new interpreter option.
Warning! This is highly experimental. The HTTP server is based on the
thttpd source code.
[GB.WEB]
* BUG: As the _init static class is always executed at startup for exported
classes, delay the intialization of Session class the first time one of
its properties is used.
* BUG: If the SCRIPT_NAME CGI variable equals nothing or "/", set it to
"/." so that it can be concatenated to any path and still gives a valid
url.
* BUG: Support for explicit URL ports.
* NEW: Application.Port is a new property that returns the port used by the
HTTP request.
git-svn-id: svn://localhost/gambas/trunk@5209 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The debugger won't crash anymore when trying to continue after an
error has been raised inside a component.
git-svn-id: svn://localhost/gambas/trunk@5183 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little redesign of the welcome dialog.
* NEW: Remove the "Alternate" theme color.
[COMPILER]
* NEW: New WebPage syntaxes: <<Include>>, <</Include>>, <%/%>, <<--->>.
[GB.EVAL]
* NEW: Highlight.Alternate has been deprecated.
[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new WebPage syntaxes.
[GB.QT4.EXT]
* NEW: Editor: The alternate background is automatically computed.
* NEW: Editor: Brace highlighting now works on alternate background.
* NEW: Highlight.Alternate has been deprecated.
git-svn-id: svn://localhost/gambas/trunk@5177 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same
name as the current project. This is a temporary incorrect fix!
[INTERPRETER]
* BUG: Fix Classes enumeration.
[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of
the window.
[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family
exists.
[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family
exists.
git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Display a PDF icon for PDF files.
[GB.FORM]
* NEW: Add a PDF icon to the stock.
[GB.FORM.STOCK]
* NEW: Add a PDF icon.
[GB.GTK]
* BUG: Printer.From and Printer.To now always return zero if all pages must
be printed.
[GB.QT4]
* BUG: If not page has to be printed, then the Print() method correctly
returns the Printer object to an inactive state.
git-svn-id: svn://localhost/gambas/trunk@5170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Conversion between byte index and UTF-8 character index of the last
string has been optimized when that last string is big.
[GB.EVAL.HIGHLIGHT]
* OPT: Optimization of HTML syntax highlighting for big lines. That
optimization should be handled by the interpreter automatically.
git-svn-id: svn://localhost/gambas/trunk@5167 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename gb.adt to gb.data
* NEW: Mark gb.data as "Unfinished"
[GB.DATA]
* OPT: Block all changes from my working copy until they are mature. The
interface is considered to be stable (although some details in behaviour
will change); this justifies the "unfinished" state.
git-svn-id: svn://localhost/gambas/trunk@5147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the enumeration API. GB.ListEnum() has been replaced by
GB.BeginEnum() and GB.EndEnum(), that save the state of the internal
current enumeration.
[GB.MIME]
* BUG: Raise an error when the MimeMessage constructor fails while parsing
a message.
[GB.NET.POP3]
* BUG: _Pop3Client_Message must not inherit MimeMessage.
* NEW: _Pop3Client_Message has a new Message property that returns the
decoded MimeMessage.
* NEW: _Pop3Client_Message has a new Deleted property that returns if the
message has been deleted.
* NEW: _Pop3Client_Message has a new Id property that returns the
message id, which is its index plus one.
* NEW: _Pop3Client_Message has a new Index property that returns the
message index, which is its id minus one.
* BUG: Hides protocol dependent routines.
* NEW: The error returned by the Pop3 client is directly used for the error
message.
* OPT: Remove duplicated code in TCPClient and SSLCLient. Centralize it in
the PopClient parent class.
* BUG: Fix the single line response reading of SSLClient.
* BUG: Fix the multiple line response reading of SSLClient and TCPClient.
* BUG: Do not display password on the standard error in debugging mode, but
eight "*" characters instead.
* NEW: Many methods do not return a boolean status, but raise an error
instead.
* BUG: Methods that return their result as a boolean status now return TRUE
if they fail, not if they succeed (this is the Gambas convention).
* BUG: Fix the Pop3CLient.List() method.
* NEW: Rename the Pop3Client UniqueId() method as ListUniqueId().
* BUG: Fix the Pop3Client.ListUniqueId() method.
git-svn-id: svn://localhost/gambas/trunk@5134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Pressing SHIFT with the RETURN key prevents automatic variable
declaration.
* BUG: Automatic variable declaration takes TRY into account.
* BUG: Automatic variable declaration now understands more expressions.
* NEW: Add a filter to the example tab of the open project dialog.
[INTERPRETER]
* NEW: String.UCaseFirst() is a new method that capitalize the first letter
of an UTF-8 string.
[COMPILER]
* NEW: If a function argument is enclosed with braces, then no warning is
emitted if it overrides a global symbol.
[GB.FORM]
* BUG: Transparent SidePanel controls do not eat one pixel of their
contents anymore.
* NEW: TabPanel draws its focus highlight differently.
* NEW: ScrollArea now draws a shadow only if the corresponding scrollbar is
visible.
git-svn-id: svn://localhost/gambas/trunk@5128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Make one warning for each symbol kind that is overridden.
[GB.DB.FORM]
* BUG: Fix warnings.
[GB.DESKTOP]
* BUG: Fix some warnings.
[GB.EVAL.HIGHLIGHT]
* BUG: Correctly rewrite the following keywords with no spurious space
after: TRUE, FALSE, NULL, +INF, -INF.
[GB.FORM]
* BUG: Fix warnings.
[GB.FORM.MDI]
* BUG: Fix warnings.
[GB.WEB]
* BUG: Fix warnings.
git-svn-id: svn://localhost/gambas/trunk@5125 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.
[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for
local symbols that override global symbols. Public symbols are of course
not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
if the argument is not used.
[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting
Gambas code.
git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Moving, renaming or deleting a source file now should correctly
refresh the search list, the breakpoint list and the task list.
[GB.FORM]
* NEW: ScrollArea draws a focus border when it has focus.
[GB.NET.POP3]
* NEW: Make Pop3Client a virtual control like SmtpClient.
git-svn-id: svn://localhost/gambas/trunk@5121 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Last change was not a good idea. Local variables should be able to
override global variables. When the compiler will be able to emit
warnings, that could make a good warning of course...
git-svn-id: svn://localhost/gambas/trunk@5115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Disable the component specific event loop when starting a task. No
way that any GUI works in a background task now, but I can't disable it
automatically.
git-svn-id: svn://localhost/gambas/trunk@5107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Handle errors occuring while waiting for a process correctly now.
* NEW: Process.Wait() now can take an optional timeout argument, in
milliseconds.
* BUG: Handle errors occuring while waiting for a task correctly now.
git-svn-id: svn://localhost/gambas/trunk@5102 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Notes (TODO:, FIXME:, NOTE:) can be used in comments beginning with
two quotes.
[INTERPRETER]
* BUG: Fix possible recursion problems while freeing signal handlers.
* BUG: The output of a process is sometimes woke up ready to read whereas
there is nothing to read on it. Close the output immediately instead of
calling the callback again and again.
* BUG: Try to handle correctly errors raised during the Kill event of a
background task. It does not work yet. :-(
* NEW: Task.Running is a new property that returns if a background task is
running.
[GB.NET]
* NEW: Add Net.CannotAuthenticate error constant for gb.net.pop3.
[GB.NET.POP3]
* BUG: Big interface clean-up so that it matches other networking classes.
* NEW: Add a Pop3Client.Debug property. Not all "Debug" instructions have
been replaced yet.
* NEW: The default value of the Port property is zero now. It is
automatically converted to 110 or 995 according to the encryption method.
* NEW: Use the Net class for Pop3Client.Status instead of specific
constants.
* NEW: Rename the _PopMessage virtual class in _Pop3Client_Message to
follow the standard naming scheme that the wiki loves.
git-svn-id: svn://localhost/gambas/trunk@5101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rewrite List class
* BUG: Fix memory leaks from breaking list enumeration
* BUG: Replace element destruction postponing in Deque by new API calls
git-svn-id: svn://localhost/gambas/trunk@5100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Implement Variant comparison routine.
* NEW: Variant[] now has an Exist() and a Find() method.
git-svn-id: svn://localhost/gambas/trunk@5098 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a typo in '^' operator implementation that prevented its second
argument to be a Variant.
git-svn-id: svn://localhost/gambas/trunk@5097 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix compilation of WebPage having UTF-8 characters inside.
[INTERPRETER]
* BUG: A background task automatically closes the file descriptor of every
other tasks.
* BUG: A task cannot create sub-tasks.
* NEW: There is an hard limit of simultaneous 256 background tasks now.
That should prevent fork bombing.
* BUG: Process.Kill does not try to wait for the task completion, and
return immediately.
* BUG: Fix events flushing at task termination.
[GB.EVAL.HIGHLIGHT]
* BUG: Fix WebPage highlighting.
[GB.WEB]
* BUG: The session cookie is now only accessible to the current CGI script.
* NEW: Response.SendFile() can set the content-type according to the file
extension, if no content-type has been specified.
git-svn-id: svn://localhost/gambas/trunk@5096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Task.Value now raises an error if the background task has failed for
any reason. Otherwise it normally returns the background task return
value.
* BUG: Background tasks do not interfere with the debugger anymore.
[GB.TASK]
* NEW: The component has been moved inside the interpreter.
git-svn-id: svn://localhost/gambas/trunk@5081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.Serialize() is a new API that serializes a Gambas value to a
file.
* NEW: GB.UnSerialize() is a new API that serializes a Gambas value from
a file.
[GB.FORM]
* BUG: Stock.Icons works correctly in all cases now.
[GB.TASK]
* NEW: Task is not a stream anymore.
* NEW: The Task Read event now takes an argument, which is the data printed
on the task standard output. Normally, the data will come line by line.
* NEW: The Task Main method now can return any serializable value to its
parent.
* NEW: Task.Value is a new property that return the value returned by the
background task once it has terminated.
git-svn-id: svn://localhost/gambas/trunk@5079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow components to access the interpreter API through a pointer and
not a full structure. It is a little bit slower (one more indirection),
but it uses less memory: one pointer instead of about 180.
[GB.GTK]
* NEW: Use the indirect API access.
[GB.QT4]
* NEW: Use the indirect API access.
[GB.TASK]
* NEW: Use the indirect API access.
* NEW: Task now is now a stream that can read the standard output of the
background task.
* NEW: Task now raises the Read event when the background task has printed
something on its standard output.
* NEW: Task now raises the Error event when the background task has printed
something on its standard error output. The event handler receives the
data in its first argument.
[GB.XML.RPC]
* BUG: Some english fixes in some error messages.
git-svn-id: svn://localhost/gambas/trunk@5077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add support for double-linked lists in the interpreter API.
* NEW: GB.Wait() is a new API that waits for a specific number of
milliseconds, exactly like the WAIT instruction (i.e. the event loop is
run).
* NEW: GB.HasForked() is a new API that warns the interpreter that fork()
has been called (he has to do some stuff).
* NEW: Remove the GB_POST_FUNC datatype from the API.
[GB.DBUS]
* BUG: Fix some compilation warnings.
[GB.TASK]
* NEW: gb.task is a new component that allows to run background tasks by
"simply" forking the interpreter. Communication between the task and the
main process has not been implemented yet.
git-svn-id: svn://localhost/gambas/trunk@5076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Choose() when then the choice value is equal to the number of
possible results plus one.
git-svn-id: svn://localhost/gambas/trunk@5068 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle null dates.
[GB.DB.FORM]
* NEW: DataControl now uses a DateBox to edit date values.
[GB.FORM]
* NEW: DateBox handles null dates now.
* NEW: MaskBox hides its contents now when it is the default one and it
does not have the focus.
* NEW: DateChooser displays a little cursor following the mouse inside the
calendar and the time panel.
[GB.GTK]
* BUG: Fix popup management.
* BUG: Editable ComboBox controls now have the right background.
* NEW: Automatically temporarily release the keyboard and the mouse when
the debugger stops the program.
git-svn-id: svn://localhost/gambas/trunk@5066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Standardize the help text of all command-line tools.
[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: library executables are installed with the '.gambas'
extension, but not the standard executables, where the extension is
removed.
* BUG: Packager: ArchLinux packager now compiles the project correctly.
[GB.FORM]
* NEW: Draw SidePanel little arrows differently.
git-svn-id: svn://localhost/gambas/trunk@5061 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the GB.ReturnConvVariant() API so that it does not free the
return value incorrectly.
git-svn-id: svn://localhost/gambas/trunk@5060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object.CanRaise() is a new method that returns if a specific object
event has an event handler.
[GB.DB.FORM]
* NEW: DataView now raises a new Data event that allows to format the
contents of a cell just before it is displayed. The event receives three
arguments: the row, the column, and the cell value directly from the
underlying database.
* NEW: DataBrowser propagates the Data event of its inner DataView.
[GB.FORM]
* BUG: TableView: Apply a white background behind the currently edited
cell.
* BUG: ScrollArea: Draw the inner shadow correctly in all cases.
[GB.GTK]
* BUG: The Font object returned by Control.Font is now correctly updated
when the font of any of its parent changes.
* BUG: Ensure that when a mouse button is pressed, the same control
receives the mouse button release event.
[GB.QT4]
* BUG: The Font object returned by Control.Font is now correctly updated
when the font of any of its parent changes.
git-svn-id: svn://localhost/gambas/trunk@5059 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Try to avoir Application.Busy flickering in some dialogs.
[EXAMPLES]
* NEW: New Tablet event inspired by a project made by Ricardo Díaz Martín.
[GB.DRAW]
* NEW: Paint.DrawImage() takes a new optional argument that defines the
opacity of the drawing, between 0 and 1.
[GB.FORM]
* NEW: ScrollArea.Tablet is a new property that allows it to catch tablet
events.
[GB.GTK]
* BUG: Support for tablet events.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse
buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered
the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
* BUG: DrawingArea.Tablet now works correctly when the DrawingArea is not
cached.
[GB.QT4]
* BUG: Mouse events from tablet now get accurate button information.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse
buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered
the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
git-svn-id: svn://localhost/gambas/trunk@5057 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Move gb.adt to main/lib/adt. It doesn't have extra dependencies
git-svn-id: svn://localhost/gambas/trunk@5055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix profiling of Eval() calls.
[INTERPRETER]
* NEW: GB.ReturnBorrow() is a new API to temporarily borrow the return
value.
* NEW: GB.ReleaseBorrow() is a new API to release the return value borrowed
by the previous function, without releasing it.
[GB.DEBUG]
* BUG: Fix profiling of Eval() calls.
[GB.V4L]
* BUG: Fix a compilation warning.
git-svn-id: svn://localhost/gambas/trunk@5053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Image.RotateLeft() and Image.RotateRight() are two new methods for
rotating a image by 90° step.
git-svn-id: svn://localhost/gambas/trunk@5049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not display a thumbnail for images too large or too high.
* NEW: Implement bookmarks for code editor only.
* NEW: Automatic local variable declaration is disabled by default.
[INTERPRETER]
* NEW: GB.Deprecated() is a new interpreter API that displays a warning
message for deprecated functions at runtime. When the project is
debugged, an error is raised instead.
[GB.FORM]
* NEW: Deprecate Stock.List which has been replaced by Stock.Icons.
[GB.QT4]
* BUG: Fix the case of Action.Tooltip property name.
[GB.QT4.EXT]
* NEW: Editor: Support for bookmarks.
* OPT: Editor: Do not compute the character width table each time the font
changes. Use a cache instead.
* NEW: Editor.BookmarkPicture is a new property for defining the picture
used for displaying bookmarks.
* NEW: Editor.FindNextBreakpoint() has been deprecated and replaced by the
Editor.Breakpoints property, that returns an integer array of all lines
having a breakpoint.
* NEW: Editor.Bookmars is a new property that returns an integer array of
all lines having a bookmark.
* NEW: Editor.CurrentLine is a new property for defining the current
executed line. It replaces Editor[].Current.
* NEW: Editor[].Bookmark is a new boolean property that defines if a
specific line has a bookmark.
git-svn-id: svn://localhost/gambas/trunk@5044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The GB.GetFunction() API now correctly returns static functions.
git-svn-id: svn://localhost/gambas/trunk@5040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rewrote the component to use the signal management routines included
in the interpreter.
git-svn-id: svn://localhost/gambas/trunk@5039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Gosub stack pointer is now correctly reset when a error has been
intercepted by the Catch instruction.
git-svn-id: svn://localhost/gambas/trunk@5020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Translate all parts of error messages.
[INTERPRETER]
* NEW: Add an explicit error message when trying to override a class that
has already been used as a parent for another class.
git-svn-id: svn://localhost/gambas/trunk@5017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix incorrect optimizations used by the _operator interface
management routines.
git-svn-id: svn://localhost/gambas/trunk@5015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Comparison operators now correctly check for null objects when
comparing objects having the _operator interface.
git-svn-id: svn://localhost/gambas/trunk@5012 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use MAP_ANON instead of MAP_ANONYMOUS. No need to make the
distinction between Linux and *BSD anymore!
git-svn-id: svn://localhost/gambas/trunk@5000 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to handle signals if there is no more signal handlers.
git-svn-id: svn://localhost/gambas/trunk@4998 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Each comment anywhere in the source code beginning with 'TODO:',
'FIXME:', or 'NOTE:' is automatically listed in a new tab named 'Tasks'
in the bottom debugging panel.
[INTERPRETER]
* BUG: Env[...] does not return a constant string anymore. Anyone can
change the environment in the background!
git-svn-id: svn://localhost/gambas/trunk@4989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to 3.2.90 version.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix automatic completion of project classes that reimplements
another class.
[WEB SITE MAKER]
* BUG: Fix scrolling frames on Chrome.
[INTERPRETER]
* NEW: Args and Env classes are now shortcuts for Application.Args and
Application.Env properties.
git-svn-id: svn://localhost/gambas/trunk@4977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: You can convert a pointer to a static structure now. It is useful
when an extern function has a 'struct XXX **' argument.
git-svn-id: svn://localhost/gambas/trunk@4974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: New optimizations in profile file size.
* NEW: PageUp and PageDown keys now work as expected in the project filter
box.
[INTERPRETER]
* NEW: Support for new profile file format.
[GB.DEBUG]
* OPT: New profile file format.
[GB.LIBXML]
* NEW: Make this component exclude gb.xml.
[GB.XML]
* NEW: Make this component exclude gb.libxml.
git-svn-id: svn://localhost/gambas/trunk@4961 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The project tree filter box now tries to keep the focus.
* NEW: Hitting ENTER in the project filter box opens the current selected
file.
* NEW: Using arrows keys in the project filter box now moves the project
tree cursor.
* NEW: CTRL+L now sets the focus back to the project filter box.
* NEW: Hitting ESC in the project filter box now resets the filter.
* NEW: Add support for gb.gsl component in the project creation dialog.
[INTERPRETER]
* NEW: Support for floating-point constants.
* BUG: The equality operators of the _operator interface now can return -1
when a datatype is not supported.
[GB.COMPLEX]
* NEW: Remove methods that are implemented by the _operator interface.
[GB.QT4]
* OPT: Load clipboard format list only if the clipboard has changed.
[GB.GSL]
* NEW: Matrix can be compared with real or complex numbers. The number is
then multiplied by the identity matrix before doing the comparison.
git-svn-id: svn://localhost/gambas/trunk@4958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a GB.FreeStringLater() API to allow components to create a new
string with GB.NewString(), and let the interpreter frees it later.
[GB.GSL]
* NEW: Add a ToString() method to all classes. That method takes two
arguments: the first one tells if number must be localized. The second
one tells if complex numbers and polynomials are converted to a string
that can be sent to Eval().
* BUG: Adding a number N to a Matrix A is equivalent to adding N times the
identity matrix.
* NEW: The '^' operator has been implemented in the Matrix class. Only A^N
where N is an integer is valid.
git-svn-id: svn://localhost/gambas/trunk@4955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Any operators of the _operator interface can be optional now. But
consequently, division by zero must be raised by the implementation.
* NEW: Implement Vector arithmetic operators.
* NEW: Rename some Matrix methods.
* NEW: Implement Polynomial arithmetic addition and substraction.
* BUG: Fix Polynomial to string conversion.
* NEW: Complex.Handle is a new property that returns the memory address of
the underlying complex number in memory.
git-svn-id: svn://localhost/gambas/trunk@4947 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an
automatic priority that follows the load order. When a binary operator
has two objects that implement two different '_operator' interface, the
one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not
mandatory anymore. If one method is not implemented, then it is replaced
by a function that raises a 'Type mismatch' error.
[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.
git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new API to create an object without calling the constructors.
[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same
security flaw has been found in MySQL recently. See
http://seclists.org/oss-sec/2012/q2/493
[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font
management.
[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the
ability to switch transparently between Float or Complex elements.
git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't optimize the "_operators" interface when using anonymous
objects!
git-svn-id: svn://localhost/gambas/trunk@4944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Remove a useless test in the macro that returns the class of an
object.
* OPT: Some little optimization in some type checks.
git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Put every '_operators' interface related methods in the same source
file.
[GB.GSL]
* NEW: Polynomial _call() special method now is a synonymous of its Eval()
method. That way, you can write 'P(X)' to get the value of P(X).
git-svn-id: svn://localhost/gambas/trunk@4933 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Implement the ^ operator in the '_operators' interface.
[GB.COMPLEX]
* NEW: Implement the ^ operator.
[GB.GSL]
* NEW: Implement the ^ operator in the Complex class.
git-svn-id: svn://localhost/gambas/trunk@4931 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Array of classes exported by a component are now correctly handled
by the component interface analyzer.
[INTERPRETER]
* BUG: The _operators interface now correctly takes into account the
"Float - Object" case.
[GB.GSL]
* NEW: Redesign of the Polynomial class. Now it implements a polynomial
that can switch between real and complex coefficients transparently.
* NEW: The ComplexPolynomial class has been removed.
git-svn-id: svn://localhost/gambas/trunk@4929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Temporary hack in the GB.New() API so that we can pass a number of
arguments in some cases.
[GB.COMPLEX]
* OPT: Do not create complex objects during arithmetic operations when we
are sure that we can reuse a temporary one. That trick can be used in any
'_operators' interface.
git-svn-id: svn://localhost/gambas/trunk@4925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New gb.complex component
[INTERPRETER]
* BUG: Automatic array conversion now works with not yet loaded array
classes.
[GB.COMPLEX]
* NEW: New component that implements a rudimentary management of complex
numbers. This component is automatically loaded if a complex number
constant is encountered and no loaded component can already handle
complex numbers.
git-svn-id: svn://localhost/gambas/trunk@4924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for imaginary number syntax. For example, using "3i" will
automatically load the gb.gsl component, create the corresponding complex
number and return it.
[COMPILER]
* NEW: Support for imaginary number syntax.
[GB.EVAL]
* NEW: Support for imaginary number syntax.
[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector
and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed.
It had too many problems.
git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When converting an instance of A to the class B, try the conversion
interface of A first. If A has no conversion interface, or if it cannot
handle the B class, then try the conversion interface of B if any.
[GB.GSL]
* NEW: Vector class has been implemented.
[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS
structure.
git-svn-id: svn://localhost/gambas/trunk@4916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly raise an error when trying to use NULL on classes
implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any
datatype.
[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.
git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Abs() and the negation operator on a null object implementing the
'_operators' interface does not crash anymore, and correctly raises an
error now.
git-svn-id: svn://localhost/gambas/trunk@4912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "_operators" is a new interface that allows any native class to be
used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the
moment.
* NEW: The "_convert" interface now allows a class to be converted to any
datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
string conversion of any object.
[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be
handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.
git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Remove an apparently useless type definition, and fix compilation on
recent Linux kernels.
git-svn-id: svn://localhost/gambas/trunk@4902 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Like can be used in a Case expression just after the Case keyword
only.
git-svn-id: svn://localhost/gambas/trunk@4900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Static unknown properties can be used in a dynamic context now.
git-svn-id: svn://localhost/gambas/trunk@4897 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now the _property special method can be static even if _unknown is
dynamic. Anyway, if _unknown is static then all unknown properties and
methods must be static, and if _unknown is dynamic, they all must be
dynamic.
git-svn-id: svn://localhost/gambas/trunk@4896 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* BUG: The component is now compatible with the new way of arguments
handling, and does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@4890 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* BUG: Fix Draw.Picture() when using the transformation matrix and not
specifying height or width.
git-svn-id: svn://localhost/gambas/trunk@4866 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* BUG: Make the internal "$load" form method private. Why was it public?
git-svn-id: svn://localhost/gambas/trunk@4846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Highlight.TextAfter returns the code as it should be displayed, even
if the Rewrite argument of Highlight.Analyze() is FALSE.
git-svn-id: svn://localhost/gambas/trunk@4844 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* 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
* NEW: GB_PROFILE_MAX environment variable now can take the maximum size of
a profile file in megabytes. The default value is 512 Mb. The minimum
value is 128 Mb, and the maximum value is 4096 Mb.
git-svn-id: svn://localhost/gambas/trunk@4816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Profile windows correctly display line numbers now.
[GB.FORM]
* NEW: Hidden transparent SidePanel controls now have a large handle.
[GB.QT4.EXT]
* NEW: Editor: Line numbers are not drawn behind a procedure separator.
* NEW: Editor.NoFolding is a new flag to disable procedure folding support.
* NEW: Editor.LineOffset is a new property to define the line number just
before the first displayed line (zero by default).
git-svn-id: svn://localhost/gambas/trunk@4803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Really fix use of static classes as extern function argument.
git-svn-id: svn://localhost/gambas/trunk@4801 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: ByRef keyword is now correctly forbidden in extern functions now.
* BUG: '...' syntax is now correctly forbidden in event description.
git-svn-id: svn://localhost/gambas/trunk@4797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* NEW: Handle the FAST keyword in function declaration.
[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
the first one on the line.
[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.
git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* 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
* 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
* 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
* BUG: CFlt() is now replaced by CFloat() when converting a Gambas 2 project.
[COMPILER]
* BUG: The token following a CONST keyword is now assumed to always be an
identifier.
git-svn-id: svn://localhost/gambas/trunk@4758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Use Stream.Lines enumeration instead of LINE INPUT. It is a little bit
faster.
[COMPILER]
* BUG: Fix CASE LIKE syntax. Now all CASE LIKE arguments are compared with
the LIKE operator. Not just the first one.
[GB.FORM]
* NEW: FileChooser now can handle *.tgz archives.
* NEW: GridView: If the Grid property is FALSE, do not draw row and column
separators.
[GB.GTK]
* BUG: Fix cached drawing areas.
* BUG: Fix mouse event management for controls having scrollbars.
* BUG: Fix cursor management for DrawingArea.
git-svn-id: svn://localhost/gambas/trunk@4755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Profiling: The total function duration is now the same as the sum of
each line of code duration.
[WEBSITE MAKER]
* NEW: Add a "Release Notes" link in the menu panel.
[GB.DEBUG]
* NEW: Optimize the profile file format a bit.
git-svn-id: svn://localhost/gambas/trunk@4751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* 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