Re: [PATCH v2 1/1] ioctl_epoll.2: New page describing epoll ioctl(2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

At 2024-06-11T10:54:27+0200, Alejandro Colomar wrote:
> > > We use '\e', not '\\'.  (I haven't checked whether it also works,
> > > and don't remember.)
> > 
> > Change this to '\e' and tested it. It looks like it works to me :)
> 
> Hmm, yep, both work the same.  I remember there's a small difference
> in meaning, but I don't know why we use \e.  Anyway.

GNU troff's Texinfo manual explains:

--snip--
   The escape character is nearly always interpreted when encountered;
it is therefore desirable to have a way to interpolate it, disable it,
or change it.

 -- Escape sequence: \e
     Interpolate the escape character.  '\e' is interpreted even in copy
     mode (*note Copy Mode::).
...
   The complement of copy mode--a 'roff' formatter's behavior when not
defining or appending to a macro, string, or diversion--where all macros
are interpolated, requests invoked, and valid escape sequences processed
immediately upon recognition, can be termed "interpretation mode".

 -- Escape sequence: \\
     The escape character, '\' by default, can escape itself.  This
     enables you to control whether a given '\n', '\g', '\$', '\*',
     '\V', or '\?' escape sequence is interpreted at the time the macro
     containing it is defined, or later when the macro is called.(1)
     (*note Copy Mode-Footnote-1::)

          .nr x 20
          .de y
          .nr x 10
          \&\nx
          \&\\nx
          ..
          .y
              => 20 10

     You can think of '\\' as a "delayed" backslash; it is the escape
     character followed by a backslash from which the escape character
     has removed its special meaning.  Consequently, '\\' is not an
     escape sequence in the usual sense.  In any escape sequence '\X'
     that GNU 'troff' does not recognize, the escape character is
     ignored and X is output.  An unrecognized escape sequence causes a
     warning in category 'escape', with two exceptions--'\\' is the
     first.
--end snip--

This matters when you use "\\" inside macro arguments, for example.

Personally, if what you want is a _backslash_, to the Linux man-pages
project I would recommend the special character escape sequence that
_means_ "backslash".

GNU troff, Heirloom Doctools troff, and mandoc all recognize it; that
should be (more) than enough for places where the Linux man-pages get
installed.

groff_man_style(7):

     \(rs   Reverse solidus (backslash).  The backslash is the default
            escape character in the roff language, so it does not
            represent itself in output.  Also see \e above.

You can of course spell it \[rs], which is even better.

I would not give the same advice to bash or ncurses, which must be
portable to geriatric commercial Unix, for example.

Regards
Branden

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux