Could we add \a as an escape sequence for bell?

Pavel Rappo pavel.rappo at gmail.com
Mon Oct 27 13:32:08 UTC 2025


A word of caution. While in this use case the difference is probably
non-essential, Unicode escapes (e.g. \u0007) are __not__ a kind of
escape sequences (e.g. \7). The former are translated into raw bytes
__before__ the compiler goes any further. The latter are recognised by
the compiler only in context of character literals, strings, or text
blocks.

To illustrate the difference, let's consider "line feed" (0xA):

    jshell> System.out.println('\n')



    jshell> System.out.println('\000A')
    |  Error:
    |  unclosed character literal
    |  System.out.println('\000A')
    |                     ^

While the former is recognised within the context of a character
literal, the latter just breaks the source code in a similar way as if
the source code had the actual line feed in it.

Unicode escapes allow you to simply input a Unicode character "by
reference". This is convenient in some cases, such as when your
environment cannot output these characters conveniently or display
them properly.

-Pavel

On Mon, Oct 27, 2025 at 12:56 PM David Alayachew
<davidalayachew at gmail.com> wrote:
>
> Ah, I misread the JLS Language Grammar!
>
> I was aware of \u0007, but not \7. I see now that that works. Then nevermind, that meets my needs just fine. No need for my suggestion.
>
> The 4 digit unicode is fine, a good escape hatch, but also easy to forget, since my brain interprets all 4 digits as significant. And char bell = 7; is also unideal. But a 1 digit escape works perfectly for me. Would have preferred \a, but \7 is more explicit and easier to look up.
>
> Ty vm!
>
> On Mon, Oct 27, 2025, 6:15 AM Andrew Dinn <adinn at redhat.com> wrote:
>>
>>
>>
>> On 26/10/2025 17:26, David Alayachew wrote:
>> > Also, here is the JLS 25 entry about escape sequences -- https://
>> > docs.oracle.com/javase/specs/jls/se25/html/jls-3.html#jls-3.10.7
>> > <https://docs.oracle.com/javase/specs/jls/se25/html/jls-3.html#jls-3.10.7>
>> >
>> > All I really want is for that to be added to the list, so that I can do
>> > it the same as I would in other languages. It sounds like an in-place
>> > replacement done by the compiler.
>>
>> What is wrong with using \u0007 or \7? (as documented in the html page
>> you cited).
>>
>> regards,
>>
>>
>> Andrew Dinn
>> -----------
>> Red Hat Distinguished Engineer
>> He/Him/His
>> IBM UK Limited
>> Registered in England and Wales with number 741598
>> Registered office: Building C, IBM Hursley Office, Hursley Park Road,
>> Winchester, Hampshire SO21 2JN
>>


More information about the core-libs-dev mailing list