unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
@ 2024-12-31 16:01 Jacob Faibussowitsch
  2025-01-02  3:28 ` Yuan Fu
  0 siblings, 1 reply; 15+ messages in thread
From: Jacob Faibussowitsch @ 2024-12-31 16:01 UTC (permalink / raw)
  To: 75226

[-- Attachment #1: Type: text/plain, Size: 149 bytes --]

C++ ts-mode is missing “alignof” as a builtin keyword like sizeof.

Best Regards,

Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)


[-- Attachment #2: Type: text/html, Size: 734 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2024-12-31 16:01 bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword Jacob Faibussowitsch
@ 2025-01-02  3:28 ` Yuan Fu
  2025-01-02  5:06   ` Stefan Kangas
  2025-01-02  6:41   ` Eli Zaretskii
  0 siblings, 2 replies; 15+ messages in thread
From: Yuan Fu @ 2025-01-02  3:28 UTC (permalink / raw)
  To: Jacob Faibussowitsch; +Cc: 75226



> On Dec 31, 2024, at 8:01 AM, Jacob Faibussowitsch <jacob.fai@gmail.com> wrote:
> 
> C++ ts-mode is missing “alignof” as a builtin keyword like sizeof.
> 
> Best Regards,
> 
> Jacob Faibussowitsch
> (Jacob Fai - booss - oh - vitch)
> 

Thanks for reporting this. It seems tree-sitter-c/cpp supports '__alignof__', '__alignof', '_alignof', 'alignof', ‘_Alignof’, I can add all of them as keywords. The feature is added in tree-sitter-c in Aug 9, 2023 [1], and appears in v0.20.5.

Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?

[1] https://github.com/tree-sitter/tree-sitter-c/commit/8e919ab298b6e4d05ee29b10482de4fcfb075074

Yuan




^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-02  3:28 ` Yuan Fu
@ 2025-01-02  5:06   ` Stefan Kangas
  2025-01-02  6:41   ` Eli Zaretskii
  1 sibling, 0 replies; 15+ messages in thread
From: Stefan Kangas @ 2025-01-02  5:06 UTC (permalink / raw)
  To: Yuan Fu, Jacob Faibussowitsch; +Cc: 75226

Yuan Fu <casouri@gmail.com> writes:

> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30
> and have this change queued for Emacs 30.2? Or should I wait a bit?

I'm not Eli, but to have this in Emacs 30.2, you need to wait until
Emacs 30.1 is released first.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-02  3:28 ` Yuan Fu
  2025-01-02  5:06   ` Stefan Kangas
@ 2025-01-02  6:41   ` Eli Zaretskii
  2025-01-02 14:03     ` Jacob Faibussowitsch
  2025-01-03  8:50     ` Yuan Fu
  1 sibling, 2 replies; 15+ messages in thread
From: Eli Zaretskii @ 2025-01-02  6:41 UTC (permalink / raw)
  To: Yuan Fu; +Cc: 75226, jacob.fai

> Cc: 75226@debbugs.gnu.org
> From: Yuan Fu <casouri@gmail.com>
> Date: Wed, 1 Jan 2025 19:28:35 -0800
> 
> 
> 
> > On Dec 31, 2024, at 8:01 AM, Jacob Faibussowitsch <jacob.fai@gmail.com> wrote:
> > 
> > C++ ts-mode is missing “alignof” as a builtin keyword like sizeof.
> > 
> > Best Regards,
> > 
> > Jacob Faibussowitsch
> > (Jacob Fai - booss - oh - vitch)
> > 
> 
> Thanks for reporting this. It seems tree-sitter-c/cpp supports '__alignof__', '__alignof', '_alignof', 'alignof', ‘_Alignof’, I can add all of them as keywords. The feature is added in tree-sitter-c in Aug 9, 2023 [1], and appears in v0.20.5.
> 
> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?

If this just adds a bunch of strings to c-ts-mode--keywords, it's okay
to add them on emacs-30.

Thanks.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-02  6:41   ` Eli Zaretskii
@ 2025-01-02 14:03     ` Jacob Faibussowitsch
  2025-01-02 15:47       ` Eli Zaretskii
  2025-01-03  8:50     ` Yuan Fu
  1 sibling, 1 reply; 15+ messages in thread
From: Jacob Faibussowitsch @ 2025-01-02 14:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Yuan Fu, 75226

[-- Attachment #1: Type: text/plain, Size: 1190 bytes --]

Should also do `alignas` and friends while you’re at it. I noticed it is missing from `c-ts-mode--keywords` as well.

Best Regards,

Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)

> On Jan 2, 2025, at 1:41 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> Cc: 75226@debbugs.gnu.org
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Wed, 1 Jan 2025 19:28:35 -0800
>> 
>> 
>> 
>>> On Dec 31, 2024, at 8:01 AM, Jacob Faibussowitsch <jacob.fai@gmail.com> wrote:
>>> 
>>> C++ ts-mode is missing “alignof” as a builtin keyword like sizeof.
>>> 
>>> Best Regards,
>>> 
>>> Jacob Faibussowitsch
>>> (Jacob Fai - booss - oh - vitch)
>>> 
>> 
>> Thanks for reporting this. It seems tree-sitter-c/cpp supports '__alignof__', '__alignof', '_alignof', 'alignof', ‘_Alignof’, I can add all of them as keywords. The feature is added in tree-sitter-c in Aug 9, 2023 [1], and appears in v0.20.5.
>> 
>> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?
> 
> If this just adds a bunch of strings to c-ts-mode--keywords, it's okay
> to add them on emacs-30.
> 
> Thanks.


[-- Attachment #2: Type: text/html, Size: 4742 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-02 14:03     ` Jacob Faibussowitsch
@ 2025-01-02 15:47       ` Eli Zaretskii
  0 siblings, 0 replies; 15+ messages in thread
From: Eli Zaretskii @ 2025-01-02 15:47 UTC (permalink / raw)
  To: Jacob Faibussowitsch; +Cc: casouri, 75226

> From: Jacob Faibussowitsch <jacob.fai@gmail.com>
> Date: Thu, 2 Jan 2025 09:03:26 -0500
> Cc: Yuan Fu <casouri@gmail.com>,
>  75226@debbugs.gnu.org
> 
> Should also do `alignas` and friends while you’re at it. I noticed it is missing from `c-ts-mode--keywords` as
> well.

The keywords are all explicit in the grammar's JS source, so how about
check them all, while we are at it?





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-02  6:41   ` Eli Zaretskii
  2025-01-02 14:03     ` Jacob Faibussowitsch
@ 2025-01-03  8:50     ` Yuan Fu
  2025-01-03 11:38       ` Eli Zaretskii
  1 sibling, 1 reply; 15+ messages in thread
From: Yuan Fu @ 2025-01-03  8:50 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 75226, Jacob Faibussowitsch



> On Jan 1, 2025, at 10:41 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> Cc: 75226@debbugs.gnu.org
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Wed, 1 Jan 2025 19:28:35 -0800
>> 
>> 
>> 
>>> On Dec 31, 2024, at 8:01 AM, Jacob Faibussowitsch <jacob.fai@gmail.com> wrote:
>>> 
>>> C++ ts-mode is missing “alignof” as a builtin keyword like sizeof.
>>> 
>>> Best Regards,
>>> 
>>> Jacob Faibussowitsch
>>> (Jacob Fai - booss - oh - vitch)
>>> 
>> 
>> Thanks for reporting this. It seems tree-sitter-c/cpp supports '__alignof__', '__alignof', '_alignof', 'alignof', ‘_Alignof’, I can add all of them as keywords. The feature is added in tree-sitter-c in Aug 9, 2023 [1], and appears in v0.20.5.
>> 
>> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?
> 
> If this just adds a bunch of strings to c-ts-mode--keywords, it's okay
> to add them on emacs-30.

Not quite, right now emacs-30’s c-ts-mode works with grammar as far back as v0.19.0 [1]. If we just add the keywords, c-ts-mode wouldn’t work with grammar v0.20.4 and earlier. So I’m going to add the new keywords with a check, which disables the new keywords if grammar doesn’t recognize them. Also there’re many missing keywords, none of which I have seen before :-), I need time to go over them and see how are they supposed by be fontified (keyword face or something else).

So let’s wait for 30.2.

[1] It might work with even earlier versions but I didn’t test, v0.19.0 (4 years ago) is the earliest version that still has compatible LANGUAGE_VERSION (13) with the latest tree-sitter lib.

Yuan







^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-03  8:50     ` Yuan Fu
@ 2025-01-03 11:38       ` Eli Zaretskii
  2025-01-04  7:34         ` Yuan Fu
  0 siblings, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2025-01-03 11:38 UTC (permalink / raw)
  To: Yuan Fu; +Cc: 75226, jacob.fai

> From: Yuan Fu <casouri@gmail.com>
> Date: Fri, 3 Jan 2025 00:50:46 -0800
> Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
>  75226@debbugs.gnu.org
> 
> > On Jan 1, 2025, at 10:41 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> > 
> >> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?
> > 
> > If this just adds a bunch of strings to c-ts-mode--keywords, it's okay
> > to add them on emacs-30.
> 
> Not quite, right now emacs-30’s c-ts-mode works with grammar as far back as v0.19.0 [1]. If we just add the keywords, c-ts-mode wouldn’t work with grammar v0.20.4 and earlier. So I’m going to add the new keywords with a check, which disables the new keywords if grammar doesn’t recognize them. Also there’re many missing keywords, none of which I have seen before :-), I need time to go over them and see how are they supposed by be fontified (keyword face or something else).
> 
> So let’s wait for 30.2.

If so, please install on master, and let's consider backporting it to
the emacs-30 branch after 30.1 is released.

Thanks.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-03 11:38       ` Eli Zaretskii
@ 2025-01-04  7:34         ` Yuan Fu
  2025-01-08  3:09           ` Yuan Fu
  0 siblings, 1 reply; 15+ messages in thread
From: Yuan Fu @ 2025-01-04  7:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 75226, Jacob Faibussowitsch



> On Jan 3, 2025, at 3:38 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Fri, 3 Jan 2025 00:50:46 -0800
>> Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
>> 75226@debbugs.gnu.org
>> 
>>> On Jan 1, 2025, at 10:41 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>> 
>>>> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?
>>> 
>>> If this just adds a bunch of strings to c-ts-mode--keywords, it's okay
>>> to add them on emacs-30.
>> 
>> Not quite, right now emacs-30’s c-ts-mode works with grammar as far back as v0.19.0 [1]. If we just add the keywords, c-ts-mode wouldn’t work with grammar v0.20.4 and earlier. So I’m going to add the new keywords with a check, which disables the new keywords if grammar doesn’t recognize them. Also there’re many missing keywords, none of which I have seen before :-), I need time to go over them and see how are they supposed by be fontified (keyword face or something else).
>> 
>> So let’s wait for 30.2.
> 
> If so, please install on master, and let's consider backporting it to
> the emacs-30 branch after 30.1 is released.
> 
> Thanks.

Sounds good.

Yuan




^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-04  7:34         ` Yuan Fu
@ 2025-01-08  3:09           ` Yuan Fu
  2025-01-08 12:49             ` Eli Zaretskii
  0 siblings, 1 reply; 15+ messages in thread
From: Yuan Fu @ 2025-01-08  3:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 75226, Jacob Faibussowitsch



> On Jan 3, 2025, at 11:34 PM, Yuan Fu <casouri@gmail.com> wrote:
> 
> 
> 
>> On Jan 3, 2025, at 3:38 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>> 
>>> From: Yuan Fu <casouri@gmail.com>
>>> Date: Fri, 3 Jan 2025 00:50:46 -0800
>>> Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
>>> 75226@debbugs.gnu.org
>>> 
>>>> On Jan 1, 2025, at 10:41 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>>> 
>>>>> Eli, what’s the status of Emacs 30 right now? Can I push to emacs-30 and have this change queued for Emacs 30.2? Or should I wait a bit?
>>>> 
>>>> If this just adds a bunch of strings to c-ts-mode--keywords, it's okay
>>>> to add them on emacs-30.
>>> 
>>> Not quite, right now emacs-30’s c-ts-mode works with grammar as far back as v0.19.0 [1]. If we just add the keywords, c-ts-mode wouldn’t work with grammar v0.20.4 and earlier. So I’m going to add the new keywords with a check, which disables the new keywords if grammar doesn’t recognize them. Also there’re many missing keywords, none of which I have seen before :-), I need time to go over them and see how are they supposed by be fontified (keyword face or something else).
>>> 
>>> So let’s wait for 30.2.
>> 
>> If so, please install on master, and let's consider backporting it to
>> the emacs-30 branch after 30.1 is released.
>> 
>> Thanks.
> 
> Sounds good.
> 
> Yuan

I found that both c++-mode and c++-ts-mode fontifies C++ alternative operators like and_eq, xor, etc as keywords. Maybe we should fontify them in operator face (added in Emacs 29) instead?

Yuan







^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-08  3:09           ` Yuan Fu
@ 2025-01-08 12:49             ` Eli Zaretskii
  2025-01-08 13:58               ` Jacob Faibussowitsch
  2025-01-08 14:49               ` Alan Mackenzie
  0 siblings, 2 replies; 15+ messages in thread
From: Eli Zaretskii @ 2025-01-08 12:49 UTC (permalink / raw)
  To: Yuan Fu, Alan Mackenzie; +Cc: 75226, jacob.fai

> From: Yuan Fu <casouri@gmail.com>
> Date: Tue, 7 Jan 2025 19:09:40 -0800
> Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
>  75226@debbugs.gnu.org
> 
> I found that both c++-mode and c++-ts-mode fontifies C++ alternative operators like and_eq, xor, etc as keywords. Maybe we should fontify them in operator face (added in Emacs 29) instead?

What do other editors do?

Alan, WDYT about this?





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-08 12:49             ` Eli Zaretskii
@ 2025-01-08 13:58               ` Jacob Faibussowitsch
  2025-01-08 14:49               ` Alan Mackenzie
  1 sibling, 0 replies; 15+ messages in thread
From: Jacob Faibussowitsch @ 2025-01-08 13:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Alan Mackenzie, Yuan Fu, 75226

[-- Attachment #1: Type: text/plain, Size: 1066 bytes --]

A good rule of thumb for this could be: if you can define an “operator” overload for something, then it is an operator and should be fontified as such.

Some examples:

1. `&&` or `and`, can define `operator &&()` or `operator and()` -> operator face.
2. `and_eq` or `&=`, can operator &=()` or `operator and_eq()` -> operator face.
3. `for`, cannot define `operator for()` -> keyword face.
4. `while`, cannot define `operator while()` -> keyword face. 

Just my pair of pennies...

Best Regards,

Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)

> On Jan 8, 2025, at 7:49 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Tue, 7 Jan 2025 19:09:40 -0800
>> Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
>> 75226@debbugs.gnu.org
>> 
>> I found that both c++-mode and c++-ts-mode fontifies C++ alternative operators like and_eq, xor, etc as keywords. Maybe we should fontify them in operator face (added in Emacs 29) instead?
> 
> What do other editors do?
> 
> Alan, WDYT about this?


[-- Attachment #2: Type: text/html, Size: 1983 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-08 12:49             ` Eli Zaretskii
  2025-01-08 13:58               ` Jacob Faibussowitsch
@ 2025-01-08 14:49               ` Alan Mackenzie
  2025-01-08 17:12                 ` Dmitry Gutov
  2025-01-12  8:40                 ` Yuan Fu
  1 sibling, 2 replies; 15+ messages in thread
From: Alan Mackenzie @ 2025-01-08 14:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: acm, Yuan Fu, 75226, jacob.fai

Hello, Eli and Jacob.

On Wed, Jan 08, 2025 at 14:49:50 +0200, Eli Zaretskii wrote:
> > From: Yuan Fu <casouri@gmail.com>
> > Date: Tue, 7 Jan 2025 19:09:40 -0800
> > Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
> >  75226@debbugs.gnu.org

> > I found that both c++-mode and c++-ts-mode fontifies C++ alternative
> > operators like and_eq, xor, etc as keywords. Maybe we should fontify
> > them in operator face (added in Emacs 29) instead?

> What do other editors do?

> Alan, WDYT about this?

For me personally, another face for "alphabetic operators" would
come dangerously close to angry fruit salad.

and_eq, xor, etc. _are_ keywords, so I think it makes sense to fontify
them as such.  The keywords in C++ could be divided into several
categories, including alphabetic operators, and to give each category
its own face would, I think, overload the typical user, who wouldn't
instantly grasp what all the faces meant.  This would be
counterproductive.  I don't think it makes too much sense to single out
just one category of keywords for special treatment.

Currently, C++ Mode has just two faces for these things:
font-lock-keyword-face for alphabetic ones, and the default-face for
those consisting of symbol characters like =, +, ;, .....  This is
adequate, probably, for someone whose native language uses a Latin
script.  Maybe users of other languages see things differently.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-08 14:49               ` Alan Mackenzie
@ 2025-01-08 17:12                 ` Dmitry Gutov
  2025-01-12  8:40                 ` Yuan Fu
  1 sibling, 0 replies; 15+ messages in thread
From: Dmitry Gutov @ 2025-01-08 17:12 UTC (permalink / raw)
  To: Alan Mackenzie, Eli Zaretskii; +Cc: Yuan Fu, 75226, jacob.fai

On 08/01/2025 16:49, Alan Mackenzie wrote:
>>> I found that both c++-mode and c++-ts-mode fontifies C++ alternative
>>> operators like and_eq, xor, etc as keywords. Maybe we should fontify
>>> them in operator face (added in Emacs 29) instead?
>> What do other editors do?
>> Alan, WDYT about this?
> For me personally, another face for "alphabetic operators" would
> come dangerously close to angry fruit salad.

One of the benefits of the current setup is that font-lock-operator-face 
by default just inherits the attributes from the 'default' face.

But custom themes (and individual users) can add distinction by 
customizing this face.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword
  2025-01-08 14:49               ` Alan Mackenzie
  2025-01-08 17:12                 ` Dmitry Gutov
@ 2025-01-12  8:40                 ` Yuan Fu
  1 sibling, 0 replies; 15+ messages in thread
From: Yuan Fu @ 2025-01-12  8:40 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Eli Zaretskii, 75226, Jacob Faibussowitsch



> On Jan 8, 2025, at 6:49 AM, Alan Mackenzie <acm@muc.de> wrote:
> 
> Hello, Eli and Jacob.
> 
> On Wed, Jan 08, 2025 at 14:49:50 +0200, Eli Zaretskii wrote:
>>> From: Yuan Fu <casouri@gmail.com>
>>> Date: Tue, 7 Jan 2025 19:09:40 -0800
>>> Cc: Jacob Faibussowitsch <jacob.fai@gmail.com>,
>>> 75226@debbugs.gnu.org
> 
>>> I found that both c++-mode and c++-ts-mode fontifies C++ alternative
>>> operators like and_eq, xor, etc as keywords. Maybe we should fontify
>>> them in operator face (added in Emacs 29) instead?
> 
>> What do other editors do?
> 
>> Alan, WDYT about this?
> 
> For me personally, another face for "alphabetic operators" would
> come dangerously close to angry fruit salad.

As Dmitry mentioned, this face inherits from default, so unless the user wants to, it doesn’t have color. And some user do like angry fruit salad, from what I learned.

> and_eq, xor, etc. _are_ keywords, so I think it makes sense to fontify
> them as such.  The keywords in C++ could be divided into several
> categories, including alphabetic operators, and to give each category
> its own face would, I think, overload the typical user, who wouldn't
> instantly grasp what all the faces meant.  This would be
> counterproductive.  I don't think it makes too much sense to single out
> just one category of keywords for special treatment.
> 
> Currently, C++ Mode has just two faces for these things:
> font-lock-keyword-face for alphabetic ones, and the default-face for
> those consisting of symbol characters like =, +, ;, .....  This is
> adequate, probably, for someone whose native language uses a Latin
> script.  Maybe users of other languages see things differently.

Thinking about it, I agree that we should use keyword face for and_eq and friends, and don’t fontify +/-/etc by default. In the end of the day, it’s about feelings; and for programmers, it feels right to highlight and_eq in keyword face and not highlight symbol operators; even thought technically and_eq and &= are both operators.

I’ll clean up my patch and push it later.

Yuan




^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-01-12  8:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-31 16:01 bug#75226: [31.0.50] C++ ts-mode missing "alignof" as keyword Jacob Faibussowitsch
2025-01-02  3:28 ` Yuan Fu
2025-01-02  5:06   ` Stefan Kangas
2025-01-02  6:41   ` Eli Zaretskii
2025-01-02 14:03     ` Jacob Faibussowitsch
2025-01-02 15:47       ` Eli Zaretskii
2025-01-03  8:50     ` Yuan Fu
2025-01-03 11:38       ` Eli Zaretskii
2025-01-04  7:34         ` Yuan Fu
2025-01-08  3:09           ` Yuan Fu
2025-01-08 12:49             ` Eli Zaretskii
2025-01-08 13:58               ` Jacob Faibussowitsch
2025-01-08 14:49               ` Alan Mackenzie
2025-01-08 17:12                 ` Dmitry Gutov
2025-01-12  8:40                 ` Yuan Fu

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).