[DEVELOPMENT ENVIRONMENT]
* NEW: Update French translation.
* NEW: Support of the new '.list' file format.
* NEW: Support of the new EXPORT AS syntax.
* NEW: Update error messages.
[COMPILER]
* NEW: EXPORT AS is a new syntax for exporting a class with a specific name that can include a namespace.
* NEW: New header file to start sharing reader code with the 'gb.eval' component.
* NEW: Class names can include a colon. The part before the colon is assumed to be a namespace.
[INTERPRETER]
* NEW: Classes exported in a namespace are now declared both in the global symbol table and in the local symbol table of their component.
* NEW: Class names are now allocated inside the symbol tables, and not in the class objects anymore.
[GB.EVAL]
* NEW: Share some reader code with the compiler.
[COMPILER]
* NEW: '#Include" is a new preprocessor reserved identifier.
* BUG: Always raise a syntax error if a preprocessor line starts with an unknown reserved identifier.
[GB.EVAL]
* BUG: Fix preprocessor lines highlighting.
[COMPILER]
* NEW: Support for the new PEEK instruction.
[INTERPRETER]
* NEW: PEEK is a new instruction that peek some bytes from a stream without removing them, so that they are available to the next READ instruction.
* OPT: IsAscii(), IsLower(), IsPunct()... instructions are now a bit faster.
[INTERPRETER]
* NEW: WAIT NEXT is a new instruction that waits for the next event and process it.
[COMPILER]
* NEW: Support for the new WAIT NEXT instruction.
[GB.GTK]
* NEW: Support for the new WAIT NEXT instruction.
[GB.GTK3]
* NEW: Support for the new WAIT NEXT instruction.
[GB.QT4]
* NEW: Support for the new WAIT NEXT instruction.
[GB.QT5]
* NEW: Support for the new WAIT NEXT instruction.
[INTERPRETER]
* BUG: JIT compiler does not run static initializers anymore when loading a class. Otherwise bytecode can be modified before being compiled, leading to a JIT compiler crash.
[COMPILER]
* BUG: Fix LOCK subroutine meta-information.
[GB.JIT]
* NEW: Don't display abortion debugging message if there is no compilation to abort.
* BUG: Object variables are correctly managed now.
* BUG: DO...LOOP and REPEAT...UNTIL at the beginning of the function now is correctly compiled in all cases.
[COMPILER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE. The associated bytecode is not emitted if the '-x' option is specified.
[INTERPRETER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE.
[GB.DEBUG]
* BUG: Fix a potential array overflow.
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.
[INTERPRETER]
* NEW: Support for the UNSAFE keyword.
[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
[INTERPRETER]
* NEW: Support for error management in JIT methods.
[COMPILER]
* BUG: Fix Error() function metadata.
[GB.JIT]
* NEW: Support for error management.
* NEW: TRY instruction.
* BUG: Correct support of NULL.
[COMPILER]
* NEW: JIT: Support for FOR...TO...NEXT loops.
* NEW: JIT: Support for Len(), Left$(), Mid$(), and Right$().
* NEW: JIT: Subroutines return values are now hadled correctly.
[GB.JIT]
* NEW: Compile JIT code with -O3.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.
[INTERPRETER]
* NEW: Remove old JIT stuff.
[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
[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.
* 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
* 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
* NEW: The process child errors raised before the exec() system call are
now catched in a separate function called by the compiler explicitly
after a SHELL or EXEC assignment.
[COMPILER]
* NEW: SHELL and EXEC assignments now call an hidden subroutine just after
the assignment to immediately check for a possible child error.
git-svn-id: svn://localhost/gambas/trunk@6681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for the new USE instruction.
[COMPILER]
* NEW: A class header now can include USE "xxxx" declarations, where "xxxx"
is a component name. It means that the specified component will be loaded
when the class is initialized, the first time it is loaded.
git-svn-id: svn://localhost/gambas/trunk@6648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Help comments of component classes and symbols are now automatically
used for creating non-existing documentation pages.
* NEW: Images are clickable in editing mode. They point at the image wiki
page.
[INTERPRETER]
* NEW: Url$() is a new function to encode an URL.
* NEW: FromUrl$() is a new function to decode an URL.
* NEW: FromBase64$() is now a synonymous for UnBase64$().
[GB.MEDIA]
* BUG: MediaPipeline.Pause() does nothing if the media is not playing. That
avoid some GStreamer bad behaviour.
[GB.MEDIA.FORM]
* NEW: MediaView: Remove the ShowVideo property, it is useless.
* NEW: MediaView: The URL property can receive a true URL or a file path.
The conversion is automatically done.
* BUG: MediaView: Do pause or stop the media file only if it has sense.
* NEW: MediaView: Hide the video part if the control height is too low.
git-svn-id: svn://localhost/gambas/trunk@6617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Clicking on the paste button correctly set the focus back to the
editor.
[WEBSITE MAKER]
* BUG: Fix pages not located in the wiki.
[EXAMPLES]
* BUG: PhotoTouch: Fix the example.
[COMPILER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.
[INTERPRETER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.
* BUG: Displaying a Result object in the debugger does not crash anymore.
* NEW: The GB.Realloc() API now calls GB.Alloc() if the pointer to
reallocate is null.
[GB.FORM]
* NEW: DateChooser: Make the time font size a little bit smaller.
git-svn-id: svn://localhost/gambas/trunk@6512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the new WebSettings.Cache.Clear() method.
* BUG: Fix project lists layout when they are filtered.
[WIKI CGI SCRIPT]
* BUG: Workaround the thttpd cgi interface bug.
[INTERPRETER]
* NEW: A new API for browsing a directory recursively.
* NEW: Js$() is a new function that quotes javascript strings.
[GB.FORM]
* BUG: ColorChooser: Don't memorize custom colors spuriously.
[GB.GUI.BASE]
* BUG: GridView: Don't take hidden columns into account when layouting
expanded columns.
git-svn-id: svn://localhost/gambas/trunk@6447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rand() is a new function that returns an integer random number.
Rand(X) returns a integer random number between 0 and X included.
Rand(X,Y) returns a integer random number between X and Y included.
* BUG: System.TimeZone now returns the accurate value, i.e. the number of
seconds that must be *added* to go to UTC.
git-svn-id: svn://localhost/gambas/trunk@6282 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: IsMissing() is a new function that returns if an optional argument
is missing. It always returns FALSE on a non-optional argument.
[INTERPRETER]
* NEW: Support for IsMissing().
git-svn-id: svn://localhost/gambas/trunk@6258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the "search" link.
[INTERPRETER]
* NEW: Date() and Time() now takes the milliseconds as an extra optional
argument.
* BUG: Time() with one argument correctly converts it to a date.
* NEW: Date() and Time() now always check the range validity of their
arguments.
[GB.DB.FORM]
* NEW: DataControl does not change the background of mandatory field and
the font of primary key fields anymore.
* NEW: DateControl.Control is a new property that returns the underlying
control used for editing the field data.
[GB.GUI.BASE]
* NEW: HSplit and VSplit have a new Border property that define if the
splitter separator is visible or not.
* NEW: HSplit and VSplit now take the Spacing property into account.
git-svn-id: svn://localhost/gambas/trunk@5871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: MATCH is a new operator that automatically load the gb.pcre
component to implement PCRE pattern matching. The syntax is the same as
the LIKE operator.
[COMPILER]
* NEW: Add a new MATCH operator.
[GB.FORM]
* BUG: The directory contents size task does not abort anymore when
accessing an unreadable files or directory. It now ignore them.
* NEW: When errors are raised while browsing the contents of a directory,
the file properties dialog display them is a new tab.
[GB.PCRE]
* NEW: Create an API interface for allowing other components to use PCRE
regular expressions.
git-svn-id: svn://localhost/gambas/trunk@5730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix scrolling of code editor procedure list.
* BUG: Automatic local variable declaration now works correctly when a
method named "Get" is called inside the analyzed expression.
[COMPILER]
* NEW: "[]" now is compiled to return a array with no elements.
[INTERPRETER]
* BUG: Array with no elements can be casted to any other array datatype.
[GB.GUI.BASE]
* BUG: Fix visibility of expanded TreeView items.
[GB.QT4.EXT]
* NEW: When the Editor loses the focus, it does not scroll to the cursor
position automatically anymore.
git-svn-id: svn://localhost/gambas/trunk@5266 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
* 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: 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
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.
[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.
[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.
git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently,
calling functions recursively are now very fast.
[COMPILER]
* NEW: New FAST keyword.
git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN
instruction alone. Consequently, you cannot exit from a 'SUB' with it if
there is a pending GOSUB. The GOSUB stack is only limited by the
available memory.
[COMPILER]
* NEW: New GOSUB instruction.
git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the form editor grid horizontal position.
[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value
is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!
[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the
corresponding special floating values.
git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.
[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when
trying to remove a non-empty directory.
[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having
the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the
user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the
group as defined in the /etc/group file.
git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove the unused GB.ExistFile() API.
* NEW: Exist() now takes an additional optional boolean argument that tells
if symbolic links must be followed, like Stat().
* BUG: Fix a possible memory leak if the [...] array creation operator
fails for any reason.
git-svn-id: svn://localhost/gambas/trunk@3940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use small font in editor toolbars.
[COMPILER]
* NEW: Compile form code before class code, so that error messages always
occur inside class code.
* BUG: Correctly handle errors when loading source files.
[GB.QT4.EXT]
* BUG: The cursor position is now correctly drawn with proportional fonts.
git-svn-id: svn://localhost/gambas/trunk@3771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Harmonize the messages displayed when DESTDIR or ROOT is used during
compilation.
* NEW: Switch version number to 2.99.1 and bytecode version to 3.0.0.
WARNING! ALL GAMBAS PROJECTS MUST BE RECOMPILED.
[DEVELOPMENT ENVIRONMENT]
* BUG: Generated Debian packages now correctly depends on gambas3-dev and
not gambas2-dev.
[GB.QT4.OPENGL]
* NEW: Remove the GlArea.Text() method, as it may be impossible to
implement inside gb.gtk.opengl.
git-svn-id: svn://localhost/gambas/trunk@3673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix translation dialog layout.
[INTERPRETER]
* BUG: Fix a typo mistake in an error message.
[COMPILER]
* BUG: Fix a typo mistake in an error message.
* NEW: Remove all Mk*$() functions.
[GB.FORM]
* NEW: The FileChoose/DirChooser popup menu has been redesigned.
* NEW: That popup menu has now a function to uncompress tar.gz and tar.bz2
archive files.
git-svn-id: svn://localhost/gambas/trunk@3648 867c0c6c-44f3-4631-809d-bfa615b0a4ec