[Github-comments] Re: [geany/geany] UTF-8 issues (Issue #3792)

2024-03-18 Thread elextr via Github-comments
> But as I said, the message shown to the user is wrong. There is no "invalid 
> byte sequence" in the original text. It should say something like "the 
> original text contains symbols that can't be translated into the requested 
> encoding". Giving misleading information during an error is a bug in itself.

The error message is from Glib as your OP said, not Geany, so you need to raise 
that issue there, but I suspect its probably actually from the underlying iconv 
or ICU library, don't know what Glib uses on windows.  Maybe the error message 
makes sense at that level where it is converting byte sequences and the byte 
sequence in the input is invalid in the output?

Geany spends all its time trying to preserve the users data, so its not going 
to let you save in a way that does not preserve content.  Save in an encoding 
that supports the relevant characters then convert with specialised tools if 
you want to.

> the only other option is to remove those symbols by hand.

Correct, Geany is not a transliteration program, changes can only be made by 
users.  

For what you are trying to do you really need a transliteration program like 
[uconv](https://linux.die.net/man/1/uconv) (part of 
[ICU](https://en.wikipedia.org/wiki/International_Components_for_Unicode) IIUC) 
that can be told what to do with untranslatable data.  Adding actions that are 
rarely used to Geany just complicates it more, and makes more work for the 
volunteers that support it, better to use the right tool for rare operations.  
Beat it with a :hammer: not a :screwdriver: :grinning: 


-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3792#issuecomment-2005733483
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] UTF-8 issues (Issue #3792)

2024-03-18 Thread m1kemex via Github-comments
Yes, I know it's going to lose some information in the process. But as I said, 
the message shown to the user is wrong. There is no "invalid byte sequence" in 
the original text. It should say something like "the original text contains 
symbols that can't be translated into the requested encoding". Giving 
misleading information during an error is a bug in itself.

Besides, there should be a way to allow the user to proceed with the conversion 
anyway because the only other option is to remove those symbols by hand.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3792#issuecomment-2005686502
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] UTF-8 issues (Issue #3792)

2024-03-18 Thread elextr via Github-comments
Closed #3792 as completed.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3792#event-12162348586
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] Having a hard time adjusting to Geany from EditPlus (Discussion #3793)

2024-03-18 Thread elextr via Github-comments
> In EditPlus I could do simple things like replace a duplicated line (replace 
> '\n\n' with '\n') but Geany "doesn't find anything"

Search for: `\n\n` and replace with `\n` and both `use regular expressions` and 
`use multi-line matching` checked works for me.  Is your file an olde windows 
one with CRLF not LF as line ends?

> However, I'm having a really hard time adjusting to it. Maybe it just does 
> things differently and I'm simply not used to it, but I find that even simple 
> tasks can't be accomplished. I just filed a bug report because I have a very 
> large UTF-8 encoded file (about 18MB) and I can't convert it to ISO-8859-1 
> without throwing an error it shouldn't produce in the first place (I checked 
> the file with an hex editor and encoding seems valid).

See that issue for where you were wrong.

> Given the similarities between EditPlus and Geany, I'd like to suggest some 
> more changes. For now, I'd be happy with having it to run properly.

Geany is not EditPlus, it is not identical, and it does "run properly", but not 
the same.  Different is not improper.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/discussions/3793#discussioncomment-8834823
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] UTF-8 issues (Issue #3792)

2024-03-18 Thread elextr via Github-comments
Glib is correct, `Greek Small Letter Alpha with Psili` is not a character in 
ISO-8859-1, see https://en.wikipedia.org/wiki/ISO/IEC_8859-1.  

ISO-8859-1 only encodes 256 characters of the million or so that Unicode does 
and Greek characters are not included, so it can't be converted.  If the file 
contains a Greek character then your claim that you only need Spanish is false 
(at least as far as that file goes).

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3792#issuecomment-2005593331
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] [geany/geany] Having a hard time adjusting to Geany from EditPlus (Discussion #3793)

2024-03-18 Thread m1kemex via Github-comments
Hi,

I used EditPlus for coding years ago. It's really a great program, to be 
honest. But I've always tried to support the Free Software movement by at least 
trying to use as much GPL applications as possible. Therefore, when I resumed 
programming, I went to see if there was a free equivalent to EditPlus. And I 
was glad to find Geany.

However, I'm having a really hard time adjusting to it. Maybe it just does 
things differently and I'm simply not used to it, but I find that even simple 
tasks can't be accomplished. I just filed a bug report because I have a very 
large UTF-8 encoded file (about 18MB) and I can't convert it to ISO-8859-1 
without throwing an error it shouldn't produce in the first place (I checked 
the file with an hex editor and encoding seems valid).

Now I'm having a really hard time using regular expressions to process an SQL 
file. In EditPlus I could do simple things like replace a duplicated line 
(replace '\n\n' with '\n') but Geany "doesn't find anything". I've tried both 
regular mode and multi-line. And I can't seem to make it to work.

Given the similarities between EditPlus and Geany, I'd like to suggest some 
more changes. For now, I'd be happy with having it to run properly.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/discussions/3793
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] [geany/geany] UTF-8 issues (Issue #3792)

2024-03-18 Thread m1kemex via Github-comments
Hi,

I'm being redirected here from GLib bug tracker:

I'm using the text editor 'Geany' version 2.0 under Windows 11. According to 
the "About" dialog, Geany version 2.0 is based on GLib 2.78.0.
I'm trying to convert a large UTF-8 encoded text file into ISO-8859-1 because 
I'm not skilled enough to properly handle UTF-8 strings in a program I'm making 
and I currently do not need to support anything but Spanish. However, when I 
attempt to change the file encoding, it throws an error during save:

`GLib.GException: Hay una secuencia de bytes no válida en la entrada de 
conversión.`

The supposedly bad character is:

```
'ἀ'
'Greek Small Letter Alpha with Psili'
U+1F00
UTF-8 bytes: 0xE1 0xBC 0x80
```

This is correct. The file I'm processing contains linguistic information and 
contains a lot of unusual characters such as Greek letters. I've verified the 
file by hand in an hex editor and the bytes are properly encoded. Therefore, 
I've determined that this must be a bug in the GLib library. Or, at least, in 
the way Geany handles GLib exceptions.

My hypothesis is that this particular character is outside the range of 
characters ISO-8859-1 supports. Therefore, not finding an 1:1 equivalent, it 
throws a warning to alert the program it's going to lose information in the 
conversion process. What I don't understand is why it says "There is an invalid 
byte sequence in the conversion input" if the sequence is actually valid. If 
I'm right, it should use a different message.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3792
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] Add Raku (Perl 6) filetype support (lexer and ctags parser) (PR #3169)

2024-03-18 Thread Enrico Tröger via Github-comments
> I gave it some testing and it works fine. I want to repeat I'm
> really bad at Perl and saw Raku the first time now. Btw, I did not
> fell in love with it :D.
> 
> Good, I was worried we'd have to rewrite Geany in it :-)

Maybe I'll change my mind in two weeks, what about Reany?

:)

> The perl6.c parser is taken from uctags, I assume. If so, we
> probably should to rename it as it was done in
> universal-ctags/ctags#3777
> .
> 
> I'm aware of that, I was just thinking it could be done during the next 
> "ctags sync" if it's not a problem.

Alright, sounds good.

> Is anything else missing? If there are no other problems, I'd like to 
> merge this PR so we are finally done with it.

I'm fine with it and when @b4n is also, let's get it in.



-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3169#issuecomment-2005161122
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] Add Raku (Perl 6) filetype support (lexer and ctags parser) (PR #3169)

2024-03-18 Thread Jiří Techet via Github-comments
@techee commented on this pull request.



> @@ -604,6 +605,7 @@ static GeanyFiletype *find_shebang(const gchar 
> *utf8_filename, const gchar *line
{ "sh", GEANY_FILETYPES_SH },
{ "bash",   GEANY_FILETYPES_SH },
{ "dash",   GEANY_FILETYPES_SH },
+   { "perl6",  GEANY_FILETYPES_RAKU },

Yeah, definitely, I've just added that.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3169#discussion_r1529348245
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] Add Raku (Perl 6) filetype support (lexer and ctags parser) (PR #3169)

2024-03-18 Thread Jiří Techet via Github-comments
@techee pushed 1 commit.

fad5af87e74dbb3850c0e3a5cb764894dbc2151c  fixup! Add Raku (Perl 6) filetype 
support (lexer and ctags parser)

-- 
View it on GitHub:
https://github.com/geany/geany/pull/3169/files/3b666ca60dc70039b6ede71a9323eb994256f6b4..fad5af87e74dbb3850c0e3a5cb764894dbc2151c
You are receiving this because you are subscribed to this thread.

Message ID: 


[Github-comments] Re: [geany/geany] Add Raku (Perl 6) filetype support (lexer and ctags parser) (PR #3169)

2024-03-18 Thread Jiří Techet via Github-comments
@techee commented on this pull request.



> + { 2, "types_basic", FALSE },
+   { 3, "types_composite", FALSE },
+   { 4, "types_domain",FALSE },
+   { 5, "types_exceptions",FALSE },

If I understand it correctly, TRUE indicates the group into which dynamically 
obtained "keywords" from ctags are mapped. For C it's the various types like 
ScintillaObject or GeanyDocument, etc. which are then highlighted in the editor 
with the given style. I haven't seen it used by any scripting language though 
and there's a danger that the mapping of the given language, in our case
```C
static TMParserMapEntry map_RAKU[] = {
{'c', tm_tag_class_t},  // class
{'g', tm_tag_struct_t}, // grammar
{'m', tm_tag_method_t}, // method
{'o', tm_tag_namespace_t},  // module
{'p', tm_tag_package_t},// package
{'r', tm_tag_class_t},  // role
{'u', tm_tag_variable_t},   // rule
{'b', tm_tag_method_t}, // submethod
{'s', tm_tag_function_t},   // subroutine
{'t', tm_tag_variable_t},   // token
};
```

doesn't correctly match the hard-coded "typedef" types from the tag manager:

```C
static TMTagType TM_GLOBAL_TYPE_MASK =
tm_tag_class_t | tm_tag_enum_t | tm_tag_interface_t |
tm_tag_struct_t | tm_tag_typedef_t | tm_tag_union_t | 
tm_tag_namespace_t;
```

(like mapping `grammar` to `struct` in the raku case - it probably is alright, 
I guess it's kind of type, but there isn't a guaranteed 1:1 correspondence)

Also, these types don't appear in function prototypes or variable declarations 
as these are dynamically-typed languages so I think it's not really that useful 
to have them colorized.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3169#discussion_r1529346339
You are receiving this because you are subscribed to this thread.

Message ID: 

[Github-comments] Re: [geany/geany] Add Raku (Perl 6) filetype support (lexer and ctags parser) (PR #3169)

2024-03-18 Thread Jiří Techet via Github-comments
@techee commented on this pull request.



> +functions=ACCEPTS AT-KEY EVALFILE EXISTS-KEY Filetests IO STORE abs accept 
> acos acosec acosech acosh acotan acotanh alarm and antipairs asec asech asin 
> asinh atan atan2 atanh base bind binmode bless break caller ceiling chars 
> chdir chmod chomp chop chr chroot chrs cis close closedir codes comb conj 
> connect contains continue cos cosec cosech cosh cotan cotanh crypt dbm 
> defined die do dump each elems eof exec exists exit exp expmod fc fcntl 
> fileno flat flip flock floor fmt fork formats functions get getc getpeername 
> getpgrp getppid getpriority getsock gist glob gmtime goto grep hyper import 
> index int invert ioctl is-prime iterator join keyof keys kill kv last lazy lc 
> lcfirst lines link list listen local localtime lock log log10 lsb lstat map 
> match mkdir msb msg my narrow new next no of open ord ords our pack package 
> pairs path pick pipe polymod pop pos pred print printf prototype push quoting 
> race rand read readdir readline readlink readpipe recv redo ref rename 
> requires reset return reverse rewinddir rindex rmdir roots round samecase say 
> scalar sec sech seek seekdir select semctl semget semop send set setpgrp 
> setpriority setsockopt shift shm shutdown sign sin sinh sleep sockets sort 
> splice split sprintf sqrt srand stat state study sub subst substr substr-rw 
> succ symlink sys syscall system syswrite tan tanh tc tclc tell telldir tie 
> time times trans trim trim-leading trim-trailing truncate uc ucfirst unimatch 
> uniname uninames uniprop uniprops unival unlink unpack unpolar unshift untie 
> use utime values wait waitpid wantarray warn wordcase words write
+types_basic=AST Any Block Bool CallFrame Callable Code Collation Compiler 
Complex ComplexStr Cool CurrentThreadScheduler Date DateTime Dateish 
Distribution Distribution::Hash Distribution::Locally Distribution::Path 
Duration Encoding Encoding::Registry Endian FatRat ForeignCode HyperSeq 
HyperWhatever Instant Int IntStr Junction Label Lock::Async Macro Method Mu Nil 
Num NumStr Numeric ObjAt Parameter Perl PredictiveIterator Proxy RaceSeq Rat 
RatStr Rational Real Routine Routine::WrapHandle Scalar Sequence Signature Str 
StrDistance Stringy Sub Submethod Telemetry Telemetry::Instrument::Thread 
Telemetry::Instrument::ThreadPool Telemetry::Instrument::Usage 
Telemetry::Period Telemetry::Sampler UInt ValueObjAt Variable Version Whatever 
WhateverCode atomicint bit bool buf buf1 buf16 buf2 buf32 buf4 buf64 buf8 int 
int1 int16 int2 int32 int4 int64 int8 long longlong num num32 num64 rat rat1 
rat16 rat2 rat32 rat4 rat64 rat8 uint uint1 uint16 uint2 uint32 uint4 uint64 
uint8 utf16 utf32 utf8
+types_composite=Array Associative Bag BagHash Baggy Blob Buf Capture 
Enumeration Hash Iterable Iterator List Map Mix MixHash Mixy NFC NFD NFKC NFKD 
Pair Positional PositionalBindFailover PseudoStash QuantHash Range Seq Set 
SetHash Setty Slip Stash Uni utf8
+types_domain=Attribute Cancellation Channel CompUnit CompUnit::Repository 
CompUnit::Repository::FileSystem CompUnit::Repository::Installation Distro 
Grammar IO IO::ArgFiles IO::CatHandle IO::Handle IO::Notification IO::Path 
IO::Path::Cygwin IO::Path::QNX IO::Path::Unix IO::Path::Win32 IO::Pipe 
IO::Socket IO::Socket::Async IO::Socket::INET IO::Spec IO::Spec::Cygwin 
IO::Spec::QNX IO::Spec::Unix IO::Spec::Win32 IO::Special Kernel Lock Match 
Order Pod::Block Pod::Block::Code Pod::Block::Comment Pod::Block::Declarator 
Pod::Block::Named Pod::Block::Para Pod::Block::Table Pod::Defn 
Pod::FormattingCode Pod::Heading Pod::Item Proc Proc::Async Promise Regex 
Scheduler Semaphore Supplier Supplier::Preserving Supply Systemic Tap Thread 
ThreadPoolScheduler VM
+types_exceptions=Backtrace Backtrace::Frame CX::Done CX::Emit CX::Last 
CX::Next CX::Proceed CX::Redo CX::Return CX::Succeed CX::Take CX::Warn 
Exception Failure X::AdHoc X::Anon::Augment X::Anon::Multi X::Assignment::RO 
X::Attribute::NoPackage X::Attribute::Package X::Attribute::Required 
X::Attribute::Undeclared X::Augment::NoSuchType X::Bind X::Bind::NativeType 
X::Bind::Slice X::Caller::NotDynamic X::Channel::ReceiveOnClosed 
X::Channel::SendOnClosed X::Comp X::Composition::NotComposable 
X::Constructor::Positional X::Control X::ControlFlow X::ControlFlow::Return 
X::DateTime::TimezoneClash X::Declaration::Scope X::Declaration::Scope::Multi 
X::Does::TypeObject X::Dynamic::NotFound X::Eval::NoSuchLang 
X::Export::NameClash X::IO X::IO::Chdir X::IO::Chmod X::IO::Copy X::IO::Cwd 
X::IO::Dir X::IO::DoesNotExist X::IO::Link X::IO::Mkdir X::IO::Move 
X::IO::Rename X::IO::Rmdir X::IO::Symlink X::IO::Unlink 
X::Inheritance::NotComposed X::Inheritance::Unsupported 
X::Method::InvalidQualifier X::Method::NotFound X::Method::Private::Permission 
X::Method::Private::Unqualified X::Mixin::NotComposable X::NYI X::NoDispatcher 
X::Numeric::Real X::OS X::Obsolete X::OutOfRange X::Package::Stubbed 
X::Parameter::Default X::Parameter::MultipleTypeConstraints 

[Github-comments] Re: [geany/geany] Add Raku (Perl 6) filetype support (lexer and ctags parser) (PR #3169)

2024-03-18 Thread Colomban Wendling via Github-comments
@b4n commented on this pull request.

I have no clue about Rakut, but looks pretty good (as expected), minor 
comments/questions inline.

> +functions=ACCEPTS AT-KEY EVALFILE EXISTS-KEY Filetests IO STORE abs accept 
> acos acosec acosech acosh acotan acotanh alarm and antipairs asec asech asin 
> asinh atan atan2 atanh base bind binmode bless break caller ceiling chars 
> chdir chmod chomp chop chr chroot chrs cis close closedir codes comb conj 
> connect contains continue cos cosec cosech cosh cotan cotanh crypt dbm 
> defined die do dump each elems eof exec exists exit exp expmod fc fcntl 
> fileno flat flip flock floor fmt fork formats functions get getc getpeername 
> getpgrp getppid getpriority getsock gist glob gmtime goto grep hyper import 
> index int invert ioctl is-prime iterator join keyof keys kill kv last lazy lc 
> lcfirst lines link list listen local localtime lock log log10 lsb lstat map 
> match mkdir msb msg my narrow new next no of open ord ords our pack package 
> pairs path pick pipe polymod pop pos pred print printf prototype push quoting 
> race rand read readdir readline readlink readpipe recv redo ref rename 
> requires reset return reverse rewinddir rindex rmdir roots round samecase say 
> scalar sec sech seek seekdir select semctl semget semop send set setpgrp 
> setpriority setsockopt shift shm shutdown sign sin sinh sleep sockets sort 
> splice split sprintf sqrt srand stat state study sub subst substr substr-rw 
> succ symlink sys syscall system syswrite tan tanh tc tclc tell telldir tie 
> time times trans trim trim-leading trim-trailing truncate uc ucfirst unimatch 
> uniname uninames uniprop uniprops unival unlink unpack unpolar unshift untie 
> use utime values wait waitpid wantarray warn wordcase words write
+types_basic=AST Any Block Bool CallFrame Callable Code Collation Compiler 
Complex ComplexStr Cool CurrentThreadScheduler Date DateTime Dateish 
Distribution Distribution::Hash Distribution::Locally Distribution::Path 
Duration Encoding Encoding::Registry Endian FatRat ForeignCode HyperSeq 
HyperWhatever Instant Int IntStr Junction Label Lock::Async Macro Method Mu Nil 
Num NumStr Numeric ObjAt Parameter Perl PredictiveIterator Proxy RaceSeq Rat 
RatStr Rational Real Routine Routine::WrapHandle Scalar Sequence Signature Str 
StrDistance Stringy Sub Submethod Telemetry Telemetry::Instrument::Thread 
Telemetry::Instrument::ThreadPool Telemetry::Instrument::Usage 
Telemetry::Period Telemetry::Sampler UInt ValueObjAt Variable Version Whatever 
WhateverCode atomicint bit bool buf buf1 buf16 buf2 buf32 buf4 buf64 buf8 int 
int1 int16 int2 int32 int4 int64 int8 long longlong num num32 num64 rat rat1 
rat16 rat2 rat32 rat4 rat64 rat8 uint uint1 uint16 uint2 uint32 uint4 uint64 
uint8 utf16 utf32 utf8
+types_composite=Array Associative Bag BagHash Baggy Blob Buf Capture 
Enumeration Hash Iterable Iterator List Map Mix MixHash Mixy NFC NFD NFKC NFKD 
Pair Positional PositionalBindFailover PseudoStash QuantHash Range Seq Set 
SetHash Setty Slip Stash Uni utf8
+types_domain=Attribute Cancellation Channel CompUnit CompUnit::Repository 
CompUnit::Repository::FileSystem CompUnit::Repository::Installation Distro 
Grammar IO IO::ArgFiles IO::CatHandle IO::Handle IO::Notification IO::Path 
IO::Path::Cygwin IO::Path::QNX IO::Path::Unix IO::Path::Win32 IO::Pipe 
IO::Socket IO::Socket::Async IO::Socket::INET IO::Spec IO::Spec::Cygwin 
IO::Spec::QNX IO::Spec::Unix IO::Spec::Win32 IO::Special Kernel Lock Match 
Order Pod::Block Pod::Block::Code Pod::Block::Comment Pod::Block::Declarator 
Pod::Block::Named Pod::Block::Para Pod::Block::Table Pod::Defn 
Pod::FormattingCode Pod::Heading Pod::Item Proc Proc::Async Promise Regex 
Scheduler Semaphore Supplier Supplier::Preserving Supply Systemic Tap Thread 
ThreadPoolScheduler VM
+types_exceptions=Backtrace Backtrace::Frame CX::Done CX::Emit CX::Last 
CX::Next CX::Proceed CX::Redo CX::Return CX::Succeed CX::Take CX::Warn 
Exception Failure X::AdHoc X::Anon::Augment X::Anon::Multi X::Assignment::RO 
X::Attribute::NoPackage X::Attribute::Package X::Attribute::Required 
X::Attribute::Undeclared X::Augment::NoSuchType X::Bind X::Bind::NativeType 
X::Bind::Slice X::Caller::NotDynamic X::Channel::ReceiveOnClosed 
X::Channel::SendOnClosed X::Comp X::Composition::NotComposable 
X::Constructor::Positional X::Control X::ControlFlow X::ControlFlow::Return 
X::DateTime::TimezoneClash X::Declaration::Scope X::Declaration::Scope::Multi 
X::Does::TypeObject X::Dynamic::NotFound X::Eval::NoSuchLang 
X::Export::NameClash X::IO X::IO::Chdir X::IO::Chmod X::IO::Copy X::IO::Cwd 
X::IO::Dir X::IO::DoesNotExist X::IO::Link X::IO::Mkdir X::IO::Move 
X::IO::Rename X::IO::Rmdir X::IO::Symlink X::IO::Unlink 
X::Inheritance::NotComposed X::Inheritance::Unsupported 
X::Method::InvalidQualifier X::Method::NotFound X::Method::Private::Permission 
X::Method::Private::Unqualified X::Mixin::NotComposable X::NYI X::NoDispatcher 
X::Numeric::Real X::OS X::Obsolete X::OutOfRange 

[Github-comments] Re: [geany/geany] How reduce scrolling speed in Geany ? (#2768)

2024-03-18 Thread unaschneck via Github-comments
I've downloaded the latest geany 2.0, which came out 10/2023, but the scroll 
speed is still too fast on touchpad. Has it not been integrated or is there a 
feature in preferences I need to change?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2768#issuecomment-2004194922
You are receiving this because you are subscribed to this thread.

Message ID: