With Geany 2.0 there is a new question for **Search and Replace** dialog:
**Are you sure to replace in the whole session?**
![image](https://github.com/geany/geany/assets/31816829/6121a941-0a21-4dd3-866b-7caa1861b71b)
I'm against, this is unacceptable for me.
Is there, or can you add an option to disable it?
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3702
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3702(a)github.com>
Hi, this PR fixes a use-after-free in codenav's go-to-file. (which often results in a crash)
## Problem:
### How to reproduce
1. Run geany from command line, to observe error messages
2. Enable codenav plugin, open some document (to allow use of go-to tool)
3. Trigger go-to-file tool (e.g. via shortcut)
4. Write `/`
5. Cancel & close dialog
6. Trigger go-to-file again
7. Write `a`
-> You will likely see an assertion fail in the output, or if you are lucky geany will crash altogether:
`gtk_entry_completion_set_model: assertion 'model == NULL || GTK_IS_TREE_MODEL (model)' failed`
Valgrind shows an invalid read to previously freed memory:
<details>
```
Invalid read of size 8
at 0x4DD5820: UnknownInlinedFun (gtkentrycompletion.c:1224)
by 0x4DD5820: gtk_entry_completion_set_model (gtkentrycompletion.c:1220)
by 0xE2E89F3: directory_check (goto_file.c:166)
by 0x5A6B72F: g_closure_invoke (gclosure.c:834)
by 0x5A9AC1A: signal_emit_unlocked_R.isra.0 (gsignal.c:3961)
by 0x5A8B7A1: signal_emit_valist_unlocked (gsignal.c:3520)
by 0x5A8BCAF: g_signal_emit_by_name (gsignal.c:3624)
by 0x4DBAC29: end_change.lto_priv.0 (gtkentry.c:2941)
by 0x4DC6576: gtk_entry_real_insert_text.lto_priv.0 (gtkentry.c:5401)
by 0x5A6B72F: g_closure_invoke (gclosure.c:834)
by 0x5A9AF49: signal_emit_unlocked_R.isra.0 (gsignal.c:3928)
by 0x5A8B7A1: signal_emit_valist_unlocked (gsignal.c:3520)
by 0x5A8BCAF: g_signal_emit_by_name (gsignal.c:3624)
Address 0xd42b8e0 is 96 bytes inside a block of size 136 free'd
at 0x48468CF: free (vg_replace_malloc.c:985)
by 0x5A90164: g_type_free_instance (gtype.c:2023)
by 0x5A7A732: g_object_unref (gobject.c:4475)
by 0x48E5AC9: run_kb (keybindings.c:1334)
by 0x48E5AC9: run_kb (keybindings.c:1325)
by 0x48E67E4: on_key_press_event (keybindings.c:1396)
by 0x4CFA6CC: _gtk_marshal_BOOLEAN__BOXED.part.0 (gtkmarshalers.c:84)
by 0x5A6B72F: g_closure_invoke (gclosure.c:834)
by 0x5A9A895: signal_emit_unlocked_R.isra.0 (gsignal.c:3888)
by 0x5A8B094: signal_emit_valist_unlocked (gsignal.c:3533)
by 0x5A8B9D6: g_signal_emit_valist (gsignal.c:3263)
by 0x5A8BA93: g_signal_emit (gsignal.c:3583)
by 0x4FC2CD4: gtk_widget_event_internal.part.0.lto_priv.0 (gtkwidget.c:7812)
Block was alloc'd at
at 0x484A993: calloc (vg_replace_malloc.c:1595)
by 0x5B2651A: g_malloc0 (gmem.c:133)
by 0x5A96F1B: g_type_create_instance (gtype.c:1923)
by 0x5A7CB10: g_object_new_internal.part.0 (gobject.c:2603)
by 0x5A7E0C6: UnknownInlinedFun (gobject.c:2600)
by 0x5A7E0C6: g_object_new_with_properties (gobject.c:2766)
by 0x5A7F009: g_object_new (gobject.c:2412)
by 0x4E56A25: gtk_list_store_new (gtkliststore.c:426)
by 0xE2E8573: build_file_list (goto_file.c:111)
by 0xE2E86A7: menu_item_activate (goto_file.c:285)
by 0x48E5AC9: run_kb (keybindings.c:1334)
by 0x48E5AC9: run_kb (keybindings.c:1325)
by 0x48E67E4: on_key_press_event (keybindings.c:1396)
by 0x4CFA6CC: _gtk_marshal_BOOLEAN__BOXED.part.0 (gtkmarshalers.c:84)
Invalid read of size 8
at 0x5A92C79: g_type_check_instance_is_a (gtype.c:4133)
by 0x4DD5836: UnknownInlinedFun (gtkentrycompletion.c:1224)
by 0x4DD5836: gtk_entry_completion_set_model (gtkentrycompletion.c:1220)
by 0xE2E89F3: directory_check (goto_file.c:166)
by 0x5A6B72F: g_closure_invoke (gclosure.c:834)
by 0x5A9AC1A: signal_emit_unlocked_R.isra.0 (gsignal.c:3961)
by 0x5A8B7A1: signal_emit_valist_unlocked (gsignal.c:3520)
by 0x5A8BCAF: g_signal_emit_by_name (gsignal.c:3624)
by 0x4DBAC29: end_change.lto_priv.0 (gtkentry.c:2941)
by 0x4DC6576: gtk_entry_real_insert_text.lto_priv.0 (gtkentry.c:5401)
by 0x5A6B72F: g_closure_invoke (gclosure.c:834)
by 0x5A9AF49: signal_emit_unlocked_R.isra.0 (gsignal.c:3928)
by 0x5A8B7A1: signal_emit_valist_unlocked (gsignal.c:3520)
Address 0xd42b8e0 is 96 bytes inside a block of size 136 free'd
at 0x48468CF: free (vg_replace_malloc.c:985)
by 0x5A90164: g_type_free_instance (gtype.c:2023)
by 0x5A7A732: g_object_unref (gobject.c:4475)
by 0x48E5AC9: run_kb (keybindings.c:1334)
by 0x48E5AC9: run_kb (keybindings.c:1325)
by 0x48E67E4: on_key_press_event (keybindings.c:1396)
by 0x4CFA6CC: _gtk_marshal_BOOLEAN__BOXED.part.0 (gtkmarshalers.c:84)
by 0x5A6B72F: g_closure_invoke (gclosure.c:834)
by 0x5A9A895: signal_emit_unlocked_R.isra.0 (gsignal.c:3888)
by 0x5A8B094: signal_emit_valist_unlocked (gsignal.c:3533)
by 0x5A8B9D6: g_signal_emit_valist (gsignal.c:3263)
by 0x5A8BA93: g_signal_emit (gsignal.c:3583)
by 0x4FC2CD4: gtk_widget_event_internal.part.0.lto_priv.0 (gtkwidget.c:7812)
Block was alloc'd at
at 0x484A993: calloc (vg_replace_malloc.c:1595)
by 0x5B2651A: g_malloc0 (gmem.c:133)
by 0x5A96F1B: g_type_create_instance (gtype.c:1923)
by 0x5A7CB10: g_object_new_internal.part.0 (gobject.c:2603)
by 0x5A7E0C6: UnknownInlinedFun (gobject.c:2600)
by 0x5A7E0C6: g_object_new_with_properties (gobject.c:2766)
by 0x5A7F009: g_object_new (gobject.c:2412)
by 0x4E56A25: gtk_list_store_new (gtkliststore.c:426)
by 0xE2E8573: build_file_list (goto_file.c:111)
by 0xE2E86A7: menu_item_activate (goto_file.c:285)
by 0x48E5AC9: run_kb (keybindings.c:1334)
by 0x48E5AC9: run_kb (keybindings.c:1325)
by 0x48E67E4: on_key_press_event (keybindings.c:1396)
by 0x4CFA6CC: _gtk_marshal_BOOLEAN__BOXED.part.0 (gtkmarshalers.c:84)
Gtk-CRITICAL **: 22:43:16.822: gtk_entry_completion_set_model: assertion 'model == NULL || GTK_IS_TREE_MODEL (model)' failed
```
</details>
## Cause
From what I understand, the root cause is here:
https://github.com/geany/geany-plugins/blob/2b897dc56c097551d2214aef9bfe2c9…
The model is saved in `old_model`, but the refcount is not incremented. As soon as the entry is destroyed, the model's refcount drops to 0 and it's deallocated. The (static) `old_model` now points to freed memory. In the next invocation, `gtk_entry_completion_set_model()` will be called with `old_model`, resulting in an invalid read in freed memory.
## Fix
Increment ref count when caching the completion model (what this PR does).
Extra evidence: With this PR applied, add a print for the refcount before gtk_entry_completion_set_model()`, like so:
```c
printf("old model %p refcount %u\n", old_model, ((GObject *) old_model)->ref_count);
gtk_entry_completion_set_model (completion, old_model);
```
This shows a refcount of 1 at that point, so if not for the `g_object_ref()` call added in this PR, this would have been 0, and the model would have been freed.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/1339
-- Commit Summary --
* codenav: Fix use-after-free in cached completion model
-- File Changes --
M codenav/src/goto_file.c (6)
-- Patch Links --
https://github.com/geany/geany-plugins/pull/1339.patchhttps://github.com/geany/geany-plugins/pull/1339.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/1339
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/pull/1339(a)github.com>
There were mostly expected "problems" like new source files that had to be added, rename of `perl6.c` to `raku.c`, update of kind mappings, etc.
The only unexpected thing is the behavior of the javascript parser - this is from the javascript commit message:
There are lots of differences because of
https://github.com/universal-ctags/ctags/commit/6d85089456ed215ce6b6a673744…
Also
https://github.com/universal-ctags/ctags/commit/b1870b826a384c3567193774372…
seems to confuse the parser in simple.js so it doesn't generate `my_global_var2`.
Finally, Geany reports
```
(geany:820768): Tagmanager-WARNING **: 20:38:28.755: ignoring null tag in /home/parallels/projects/geany/doc/reference/jquery.js(line: 2, language: JavaScript)
```
@b4n Does the PR in general and the javascript parser in particular look good to you? I didn't investigate the javascript parser differences much as I'm not a javascript user myself. At least the NULL warning should be fixed though.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3859
-- Commit Summary --
* Update perl6.c to raku.c parser
* Update all parsers and related files to ctags p6.1.20240421.0
* Add ldscript parser
* Update parser kind mappings
* Map title/subtitle of the rst parser
* Map defines to tm_tag_variable_t of verilog so we get the same output as before
* Map filter to tm_tag_function_t for powershell to get the same output as before
* Update asm test
* Disable roles for macro kinds in C/C++
* Update unit tests for javascript
-- File Changes --
M ctags/Makefile.am (14)
M ctags/dsl/es.c (37)
M ctags/dsl/es.h (6)
M ctags/dsl/optscript.c (240)
M ctags/dsl/optscript.h (2)
M ctags/main/CommonPrelude.c (96)
M ctags/main/args.c (6)
M ctags/main/colprint.c (11)
M ctags/main/ctags.h (50)
M ctags/main/debug.c (5)
M ctags/main/debug.h (14)
M ctags/main/dependency.c (26)
M ctags/main/dependency.h (1)
M ctags/main/dependency_p.h (1)
M ctags/main/e_msoft.h (1)
M ctags/main/entry.c (551)
M ctags/main/entry.h (159)
M ctags/main/error_p.h (4)
M ctags/main/field.c (155)
M ctags/main/field.h (10)
M ctags/main/field_p.h (12)
M ctags/main/fmt.c (12)
M ctags/main/general.h (2)
M ctags/main/htable.c (200)
M ctags/main/htable.h (16)
A ctags/main/interval_tree_generic.h (197)
M ctags/main/keyword.c (38)
M ctags/main/keyword.h (20)
M ctags/main/kind.c (7)
M ctags/main/lregex.c (977)
M ctags/main/lregex_p.h (7)
M ctags/main/lxpath.c (17)
M ctags/main/lxpath.h (2)
M ctags/main/lxpath_p.h (1)
M ctags/main/main.c (2)
M ctags/main/mbcs.c (4)
M ctags/main/mini-geany.c (48)
M ctags/main/nestlevel.c (50)
M ctags/main/nestlevel.h (17)
M ctags/main/numarray.c (12)
M ctags/main/numarray.h (3)
M ctags/main/options.c (238)
M ctags/main/options_p.h (5)
M ctags/main/param.c (92)
M ctags/main/param.h (4)
M ctags/main/param_p.h (21)
M ctags/main/parse.c (655)
M ctags/main/parse.h (35)
M ctags/main/parse_p.h (24)
M ctags/main/parsers_p.h (40)
M ctags/main/promise.c (56)
M ctags/main/promise.h (2)
M ctags/main/ptag.c (39)
M ctags/main/ptag_p.h (5)
M ctags/main/ptrarray.c (18)
M ctags/main/ptrarray.h (4)
M ctags/main/rbtree.c (713)
M ctags/main/rbtree.h (193)
A ctags/main/rbtree_augmented.h (247)
M ctags/main/read.c (144)
M ctags/main/read.h (21)
M ctags/main/read_p.h (9)
M ctags/main/repoinfo.h (2)
M ctags/main/routines.c (59)
M ctags/main/routines.h (5)
M ctags/main/script.c (10)
M ctags/main/script_p.h (6)
M ctags/main/seccomp.c (2)
M ctags/main/selectors.c (445)
M ctags/main/selectors.h (20)
M ctags/main/sort.c (44)
M ctags/main/strlist.c (4)
M ctags/main/subparser.h (1)
M ctags/main/subparser_p.h (1)
M ctags/main/trace.h (14)
M ctags/main/trashbox.c (1)
M ctags/main/types.h (4)
M ctags/main/unwindi.c (6)
A ctags/main/utf8_str.c (83)
A ctags/main/utf8_str.h (22)
M ctags/main/vstring.c (32)
M ctags/main/vstring.h (61)
M ctags/main/writer-ctags.c (79)
M ctags/main/writer-json.c (34)
M ctags/main/writer.c (4)
M ctags/main/writer_p.h (8)
M ctags/main/xtag.c (6)
M ctags/main/xtag_p.h (4)
M ctags/parsers/abaqus.c (6)
M ctags/parsers/ada.c (74)
M ctags/parsers/asciidoc.c (42)
M ctags/parsers/asm.c (654)
M ctags/parsers/autoit.c (34)
M ctags/parsers/basic.c (326)
M ctags/parsers/bibtex.c (93)
A ctags/parsers/bibtex.h (25)
M ctags/parsers/clojure.c (38)
M ctags/parsers/cobol.c (12)
M ctags/parsers/cpreprocessor.c (505)
M ctags/parsers/cpreprocessor.h (26)
M ctags/parsers/css.c (9)
M ctags/parsers/cxx/cxx.c (16)
M ctags/parsers/cxx/cxx_debug.c (17)
M ctags/parsers/cxx/cxx_keyword.c (81)
M ctags/parsers/cxx/cxx_keyword.h (15)
M ctags/parsers/cxx/cxx_parser.c (133)
M ctags/parsers/cxx/cxx_parser_block.c (100)
M ctags/parsers/cxx/cxx_parser_function.c (76)
M ctags/parsers/cxx/cxx_parser_internal.h (16)
M ctags/parsers/cxx/cxx_parser_lambda.c (3)
A ctags/parsers/cxx/cxx_parser_module.c (331)
M ctags/parsers/cxx/cxx_parser_namespace.c (4)
M ctags/parsers/cxx/cxx_parser_template.c (43)
M ctags/parsers/cxx/cxx_parser_tokenizer.c (86)
M ctags/parsers/cxx/cxx_parser_typedef.c (13)
M ctags/parsers/cxx/cxx_parser_using.c (26)
M ctags/parsers/cxx/cxx_parser_variable.c (123)
M ctags/parsers/cxx/cxx_qtmoc.c (3)
M ctags/parsers/cxx/cxx_scope.c (25)
M ctags/parsers/cxx/cxx_scope.h (5)
A ctags/parsers/cxx/cxx_side_chain.c (230)
A ctags/parsers/cxx/cxx_side_chain.h (33)
M ctags/parsers/cxx/cxx_tag.c (159)
M ctags/parsers/cxx/cxx_tag.h (50)
M ctags/parsers/cxx/cxx_token.c (18)
M ctags/parsers/cxx/cxx_token.h (11)
M ctags/parsers/cxx/cxx_token_chain.c (92)
M ctags/parsers/cxx/cxx_token_chain.h (10)
M ctags/parsers/diff.c (4)
M ctags/parsers/erlang.c (10)
M ctags/parsers/flex.c (18)
M ctags/parsers/fortran.c (188)
M ctags/parsers/gdscript.c (74)
M ctags/parsers/geany_lcpp.h (23)
M ctags/parsers/go.c (13)
M ctags/parsers/haskell.c (2)
M ctags/parsers/haxe.c (57)
M ctags/parsers/html.c (181)
M ctags/parsers/iniconf.c (24)
M ctags/parsers/jscript.c (0)
A ctags/parsers/jscript.h (0)
M ctags/parsers/json.c (0)
M ctags/parsers/julia.c (0)
M ctags/parsers/lisp.c (0)
M ctags/parsers/lua.c (0)
M ctags/parsers/make.c (0)
M ctags/parsers/markdown.c (0)
M ctags/parsers/markdown.h (0)
M ctags/parsers/nsis.c (0)
M ctags/parsers/objc.c (0)
M ctags/parsers/ocaml.c (0)
M ctags/parsers/pascal.c (0)
M ctags/parsers/perl.c (0)
M ctags/parsers/perl.h (0)
M ctags/parsers/php.c (0)
M ctags/parsers/powershell.c (0)
M ctags/parsers/python.c (0)
M ctags/parsers/r.c (0)
R ctags/parsers/raku.c (0)
M ctags/parsers/rst.c (0)
M ctags/parsers/ruby.c (0)
A ctags/parsers/ruby.h (0)
M ctags/parsers/rust.c (0)
M ctags/parsers/sh.c (0)
A ctags/parsers/sh.h (0)
M ctags/parsers/sql.c (0)
M ctags/parsers/tcl.c (0)
M ctags/parsers/tcloo.c (0)
M ctags/parsers/tex.c (0)
M ctags/parsers/typescript.c (0)
M ctags/parsers/verilog.c (0)
M ctags/parsers/vhdl.c (0)
M meson.build (0)
M src/tagmanager/tm_parser.c (0)
M src/tagmanager/tm_parser.h (0)
M src/tagmanager/tm_parsers.h (0)
M tests/ctags/1795612.js.tags (0)
M tests/ctags/1850914.js.tags (0)
M tests/ctags/1878155.js.tags (0)
M tests/ctags/1880687.js.tags (0)
M tests/ctags/3470609.js.tags (0)
M tests/ctags/arraylist.js.tags (0)
M tests/ctags/bracematch.js.tags (0)
M tests/ctags/bug1950327.js.tags (0)
M tests/ctags/bug2888482.js.tags (0)
M tests/ctags/bug3571233.js.tags (0)
M tests/ctags/complex-return.js.tags (0)
M tests/ctags/js-class-related-unterminated.js.tags (0)
M tests/ctags/js-const.js.tags (0)
M tests/ctags/js-let.js.tags (0)
M tests/ctags/js-string-continuation.js.tags (0)
M tests/ctags/js-unknown-construct-nesting.js.tags (0)
M tests/ctags/jsFunc_tutorial.js.tags (0)
M tests/ctags/masm.asm.tags (0)
M tests/ctags/parenthesis-rvalue.js.tags (0)
M tests/ctags/secondary_fcn_name.js.tags (0)
M tests/ctags/simple.js.tags (0)
M tests/ctags/simple.rst (0)
M tests/ctags/simple.rst.tags (0)
M tests/ctags/ui5.controller.js.tags (0)
-- Patch Links --
https://github.com/geany/geany/pull/3859.patchhttps://github.com/geany/geany/pull/3859.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3859
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3859(a)github.com>
Currently, if a link is clicked in the markdown preview, said link is opened in the preview tab itself, instead of calling my main browser.
This might be the desired outcome for relative links, but in my case opening youtube in the embedded browser led to audio glitches and then a nice crash.
Maybe a configurable option? Or absolute links in browser, relative in preview?
Thanks for your work, guys.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/544
hi,
I wasn't sure if this is really happening or I just do something differently...
But it is...
**the problem:**
I have an open file in Geany...
and I have made some changes to it... but haven't saved it
typed "//1234" at line 6, for example...
If I open this file in another text editor... and type "//5678"... @ line 6 or anywhere...
and save it...
the reload dialog shows up...
**GOOD...**
BUT when I download files from the server with Filezilla... and overwrite it...
no dialog shows up at all...
whereas in other text editors, Kate, for example, it does: do you want to reload the file?
I'm already using KATE...
but I love Geany...
I just can't risk uploading an old version of a file overwriting work that has been done....
Peter
..................................................
system info:
https://termbin.com/5rti
- - - thank you for developing Geany!! - - -
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3839
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3839(a)github.com>
I have been using geany with the vimode plugin. Just wanted to share a few places where I found bugs.
1. I am not able to enter normal mode whenever the number lock is on.
2. when I delete a line using the command `dd` the page shifts down till the point the cursor is at the top. Whereas it should have gone the line below and not shifted the page, And when I undo after deleting the line (I have seen this behavior in this particular case only) the cursor goes to the bottom of the document.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1136
I turn on `vimode` in Geany, had it on before but have toggled it off/on, after upgrading to Ubuntu 22.04 and there is no Visual Mode anymore even though the cursor changes it still is in Insert Mode with no way to go to Visual Mode.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1174
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/issues/1174(a)github.com>
When session opening starts, this signal is emitted with parameter TRUE, when it stops, with FALSE.
This gives plugins information e.g. whether document opening happens as a result of user action or whether it's part of initial session opening.
For the LSP plugin this is used to detect the finally displayed document for which the server is started, otherwise if "document-open" is used, it would start servers for all open document filetypes immediately on Geany start which is unnecessary and could slow start time.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3707
-- Commit Summary --
* Add "session-opening" signal emitted when session opening starts/stops
-- File Changes --
M doc/pluginsignals.c (12)
M src/geanyobject.c (7)
M src/geanyobject.h (1)
M src/keyfile.c (4)
M src/libmain.c (16)
M src/main.h (2)
-- Patch Links --
https://github.com/geany/geany/pull/3707.patchhttps://github.com/geany/geany/pull/3707.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3707
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3707(a)github.com>
Let's try to make cppcheck work again, and even report useful stuff.
During the journey it found a few actual issues, which is good. It also found some false-positives, which isn't so good.
We probably could reduce the false positives by not using `--library=gtk`, but that also would reduce the actual issues it can find.
There are a few issues that should be reported upstream, but it's harder than it looks… if I could only remember my password on their tracker :confused:
Anyway, what do you guys think? Is it good? Are there too many false-positives? Should the suppressions be moved back to `AM_CPPCHECKFLAG`s not to alter the code, although it makes it harder to maintain?
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/1346
-- Commit Summary --
* cppcheck: Enable parallelism to match Make call
* cppcheck: Properly define GETTEXT_PACKAGE globally
* cppcheck: Undefine GEANY_PRIVATE
* cppcheck: Use cppcheck's own gtk support
* cppcheck: Define the common plugin defines to their actual values
* ci: Enable exhaustive cppcheck checking
* cppcheck: Enable inline suppression hints
* addons: Fix memory leak detected by cppcheck
* geanyprj: Fix memory leak detected by cppcheck
* workbench: Fix memory leak detected by cppcheck
* geniuspaste: Fix memory leak detected by cppcheck
* markdown: Slightly rewrite two tests for cppcheck's sake
* cppcheck: Add inline suppressions for false-positives
* Remove obsolete cppcheck suppressions
* treebrowser: Move cppcheck suppressions inline
-- File Changes --
M .github/workflows/build.yml (2)
M addons/src/ao_tasks.c (11)
M build/cppcheck-geany-plugins.cfg (4)
M build/cppcheck.mk (6)
M geanyctags/src/geanyctags.c (2)
M geanygendoc/src/ggd-options.c (1)
M geanyprj/src/Makefile.am (3)
M geanyprj/src/utils.c (3)
M geniuspaste/src/geniuspaste.c (5)
M git-changebar/src/gcb-plugin.c (1)
M markdown/src/conf.c (4)
M scope/src/Makefile.am (2)
M scope/src/debug.c (4)
M treebrowser/src/Makefile.am (3)
M treebrowser/src/treebrowser.c (2)
M vimode/src/cmd-runner.c (2)
M workbench/src/sidebar.c (6)
M workbench/src/wb_project.c (4)
M workbench/src/workbench.c (4)
-- Patch Links --
https://github.com/geany/geany-plugins/pull/1346.patchhttps://github.com/geany/geany-plugins/pull/1346.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/1346
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/pull/1346(a)github.com>
Each object in the list is a file object, not a string:
`ctags_tests = files([...` hence the message:
"tests/meson.build:359: DEPRECATION: Project uses feature that was always broken, and is now deprecated since '1.3.0': str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof..."
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3759
-- Commit Summary --
* Fix deprecation warning about str.format() during meson setup
-- File Changes --
M tests/meson.build (2)
-- Patch Links --
https://github.com/geany/geany/pull/3759.patchhttps://github.com/geany/geany/pull/3759.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3759
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3759(a)github.com>