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

Pavel Rappo pavel.rappo at gmail.com
Mon Oct 27 13:44:28 UTC 2025


Correcting a typo*:

    jshell> System.out.println('\u000A')
    |  Error:
    |  illegal line end in character literal
    |  System.out.println('\u000A')
    |


On Mon, Oct 27, 2025 at 1:32 PM Pavel Rappo <pavel.rappo at gmail.com> wrote:
>
> 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