2020-10-06 Rico Tzschichholz Release 0.40.24 2020-09-29 Rico Tzschichholz tests: Add "async constructor argument check" test to increase coverage libvaladoc: Fix a couple of C compiler warnings g-i: Fix a couple of C compiler warnings testrunner: Filter external -0X flags to preserve current default -O0 testrunner: Pass --enable-checking to increase coverage codegen: Don't pass CCodeFunctionCall to NULL-aware free macro This resulted in invalid C code: error: lvalue required as left operand of assignment webkit2gtk-4.0: Update to 2.30.1 2020-09-05 Rico Tzschichholz Don't use locale dependent string functions on syntax strings Replace usage of string.down() with string.ascii_down(), and string.up() with string.ascii_up() Fixes https://gitlab.gnome.org/GNOME/vala/issues/1067 libvaladoc/gtkdoc-importer: Don't let parse_block_taglet() return null This caused criticals like: valadoc_taglets_param_set_is_c_self_param: assertion 'self != NULL' failed libvaladoc/gtkdoc-importer: Correctly retrieve "url" from "ulink" elements This caused criticals like: g_uri_parse_scheme: assertion 'uri != NULL' failed libvaladoc/girimporter: Fallback to "name" for callback This caused criticals like: valadoc_importer_gir_documentation_importer_attach_comment: assertion 'cname != NULL' failed girparser: Additionally fallback to "glib:type-name" to retrieve the cname libvaladoc/girimporter: Fallback to "glib:type-name" for class, interface and record This caused criticals like: valadoc_importer_gir_documentation_importer_attach_comment: assertion 'cname != NULL' failed libvaladoc/girimporter: Improve parse_symbol_doc() and don't use parse_doc() libvaladoc/girimporter: Skip "attribute" elements This is the same patch as in commit 6ea19c61015d0dd6cacb581397c8fe37ace9df4a manual: Update from wiki.gnome.org 2020-09-05 Alistair Thomas codegen: Always include base_struct declaration if available This fixes inheritance of structs across source files while not using a header file. Fixes https://gitlab.gnome.org/GNOME/vala/issues/464 2020-09-05 Rico Tzschichholz codegen: Don't append unreachable clean-up section of Block Found by -Werror=unreachable-code Improvements for https://gitlab.gnome.org/GNOME/vala/issues/838 Fixes https://gitlab.gnome.org/GNOME/vala/issues/169 Revert "codegen: Don't append unreachable clean-up section of Block" This reverts commit 8f3a0a0b64e0c7fbcc9231c3058247920dd6eeda. doc: Update AUTHORS in manpages webkit2gtk-4.0: Update to 2.29.91 vala: Set parent_node for child nodes of lambda-expression Fixes https://gitlab.gnome.org/GNOME/vala/issues/1062 tests: Add "pre-post-increment with side effect" tests to increase coverage See https://gitlab.gnome.org/GNOME/vala/issues/1061 Force usage of temporary variables for "tainted" member accesses This is required to handle the side effect of postfix- and unary- increment/decrement expressions. Regression of 32ffc862417be39d42a1b8eeb3d0748b3e138aff and b9035aaf17a9a97a070812a8ee83251fd3893b1e Fixes https://gitlab.gnome.org/GNOME/vala/issues/1061 vala: Move transformation of unary increment/decrement to codegen In preparation for https://gitlab.gnome.org/GNOME/vala/issues/1061 Add TraverseVisitor for traversing the tree with a callback This will allow cleaning up virtual methods of code nodes and more stateful to stateless code conversion. tests: Don't rely on undefined use-after-free behaviour of glibc Makes this check work with musl >= 1.2.1 https://bugzilla.gnome.org/show_bug.cgi?id=736774 2020-08-10 Rico Tzschichholz tests: Add "nested namespace" girwriter test to increase coverage See https://gitlab.gnome.org/GNOME/vala/issues/1059 tests: Add "constant and union" gir test to increase coverage tests: Add "property accessor with try statement" test to increase coverage tests: Add more "invalid" tests to increase coverage Revert "girwriter: Use appropriate get_ccode_* functions" This reverts commit 7b0498d4f4fcaa3bd9e04d65560324847136f0ac. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1059 tests: Add "signal error marshalling" test to increase coverage 2020-08-10 Jeremy Philippe posix: Declare WRDE_APPEND constant as public 2020-08-10 Rico Tzschichholz tests: Add "return in construct/destructor" tests to increase coverage tests: Add "enum typed property" tests to increase coverage vala: Mark tranformed member-access as qualified Regression of 866258f688d781f3536892b8f93abdd3112198ec See https://gitlab.gnome.org/GNOME/vala/issues/57 gio-2.0: Include "gio/gsettingsbackend.h" for GLib.SettingsBackend members Fixes https://gitlab.gnome.org/GNOME/vala/issues/1054 girparser: Add support for string "feature_test_macro" metadata codegen: Include header for base-symbols when connecting vfuncs This eases the handling of types which are split over different headers. 2020-08-03 Rico Tzschichholz gio-unix-2.0: Fix "g_unix_mount_for" binding Fixes https://gitlab.gnome.org/GNOME/vala/issues/1052 2020-07-29 Rico Tzschichholz tests: Add "girwriter" tests to increase coverage Backported from 0.46 branch Fixes https://gitlab.gnome.org/GNOME/vala/issues/158 webkit2gtk-4.0: Update to 2.29.4 girwriter: Use appropriate get_ccode_* functions This will pick up possible CCode.*name attributes girwriter: Don't include symbols outside of a namespace Additionally report a warning for symbols which doesn't fulfill this rule. Fixes https://gitlab.gnome.org/GNOME/vala/issues/241 codegen: Properly destroy elements of an inline struct array Fixes https://gitlab.gnome.org/GNOME/vala/issues/365 2020-07-26 Rico Tzschichholz gtk+-3.0: Update to 3.24.21+ffe2df7b girparser: Skip 'docsection' elements in See https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/226 vala: Check error-type accessibility of creation methods and delegates codegen: Check param for null before using it Regression of 5490b0b21a4089d803d51c91311430d60d266f7b This caused criticals like: vala_get_ccode_array_length: assertion 'node != NULL' failed See https://gitlab.gnome.org/GNOME/vala/issues/929 vala: Allow prototype access to signal with emitter Fixes https://gitlab.gnome.org/GNOME/vala/issues/1040 tests: Add "access vfunc pointer" test to increase coverage 2020-07-26 Jean Pierre Dudey girwriter: Write c:symbol-prefix on supported elements This specifies the symbol prefix, e.g.: window in gtk_window_new Fixes https://gitlab.gnome.org/GNOME/vala/issues/1038 girwriter: Write c:type="void" when name="none" This is to match g-ir-scanner behaviour of using the c:type to identify void return value. girwriter: Add c:identifier-prefixes to c:prefix is deprecated and c:identifier-prefixes should be used. 2020-07-26 Rico Tzschichholz vala: Improve check of expression passed to yield Report a proper error and fix codegen cricical when a signal is given: vala_ccode_function_add_expression: assertion 'expression != NULL' failed See https://gitlab.gnome.org/GNOME/vala/issues/1039 gtk+-3.0: Resolve conflicts of signals with properties girparser: Warn about conflicting signals and properties vala: Fix code indentation libvaladoc: Support exporting the `class` modifier on fields 2020-07-26 Corentin Noël libvaladoc: Support exporting the `class` modifier on methods 2020-07-26 Rico Tzschichholz vala: Tranform instance member-access to a static one if possible There is a warning issued already and this cleans up the AST to prevent unwanted behaviour in the code-generator, which resulted in the invocation of "CCodeBaseModule.emit_temp_var()" and criticals like: vala_ccode_function_add_declaration: assertion 'self != NULL' failed vala_ccode_function_add_assignment: assertion 'self != NULL' failed Fixes https://gitlab.gnome.org/GNOME/vala/issues/270 vala: Fully qualify member-access when using-directive was used to resolve Fixes https://gitlab.gnome.org/GNOME/vala/issues/57 tests: Add "pre/post-increment" tests to increase coverage codegen: Inline allocated and constant arrays are never NULL Found by -Werror=tautological-pointer-compare webkit2gtk-4.0: Update to 2.29.3 vala: Handle parameter initializer without value-type This caused criticals like: vala_data_type_compatible: assertion 'self != NULL' failed See https://gitlab.gnome.org/GNOME/vala/issues/1029 codegen: Properly compare string if binary-expression contains string-literal Found by -Werror=address tests: Add "unique namespace" test A namespace symbol is unique for a given name in its CodeContext. This means attributes are inherited accross all occurances. tests: Extend "default gtype" tests to increase coverage vala: Return copy of constant type in get_value_type_for_symbol() vala: Recursive check of assignment target to recognize constants See https://gitlab.gnome.org/GNOME/vala/issues/944 vala: Property must be writable when invoking ReturnsModifiedPointer method Fixes https://gitlab.gnome.org/GNOME/vala/issues/1023 vala: Don't allow "resize" invocation on variable with unowned array type Fixes https://gitlab.gnome.org/GNOME/vala/issues/928 glib-2.0: Add AtomicUint, an alternation of AtomicInt for uint Fixes https://gitlab.gnome.org/GNOME/vala/issues/915 vala: Improve error handling of nested initializer lists This avoids reporting consequential errors. tests: Don't use invalid syntax to declare local variable with array type See https://gitlab.gnome.org/GNOME/vala/issues/942 vala: Avoid subsequent critical caused by invalid array type for constant 2020-06-30 Rico Tzschichholz webkit2gtk-4.0: Update to 2.29.2 tests: Add "named argument" test to increase coverage vala: Improve parameter check of "get" method meant to be used by foreach The index-based iteration requires the "get" method to take one integer compatible parameter. Otherwise continue checking other options. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1017 2020-06-30 Chris White build: Update git-version-gen to latest upstream From commit 8a09003664733eb6bef031f56ef9cd575e403023 of https://git.savannah.gnu.org/cgit/autoconf.git/tree/build-aux/git-version-gen 2020-06-22 Rico Tzschichholz codegen: Cast initializer-list to struct for non-constant/non-array assignments Avoid invalid c-code and use the correct syntax for compound literals. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1013 girparser: Actually respect given cprefix metadata for enumerations vala: Use correct value-type for ArrayCreationExpression used as argument Copy fixed_length and inline_allocated attributes from formal-target-type. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1009 Consistently use get_ccode_lower_case_prefix() for function names Create the expected name for "constructor" and "finalize" functions which are non-public API. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1008 2020-06-22 Corentin Noël libvaladoc/girimporter: Skip "function-macro" elements This is the same patch as in commit f51d9dfdaf97ab5b8377d7e5bb78cfc9b232dc86 2020-06-22 Rico Tzschichholz girwriter: Append symbol-attributes to callback field rather than its type Fixes https://gitlab.gnome.org/GNOME/vala/issues/1006 vala: Correctly handle qualified struct type reference in initializer list Construct member-access including namespace of inferred struct type. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1004 vala: Fix typo in comments codegen: Don't call get_ccode_finish_instance() with non-async methods and restrict evaluation of CCode.finish_* attributes to async methods only vala: Improve source documentation codegen: Improve array-dup-wrapper for empty arrays Guard against negative lengths and consistently return NULL if allocated size would be 0. See https://gitlab.gnome.org/GNOME/vala/issues/999 tests: Extend "s[p]lice" tests to increase coverage gtk+-3.0: Deprecated abstract methods are not required to be implemented