Re: Escaping whitespace

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

 



On 1/8/21 12:49 PM, Alejandro Colomar (man-pages) wrote:
> 
> 
> On 1/8/21 12:29 PM, Michael Kerrisk (man-pages) wrote:
>> Hi Alex,
>>
>> On Thu, 7 Jan 2021 at 18:11, Alejandro Colomar (man-pages)
>> <alx.manpages@xxxxxxxxx> wrote:
>>>
>>> Hi Michael,
>>>
>>> On 1/6/21 1:51 PM, Michael Kerrisk (man-pages) wrote:
>>>> Hi Alex,
>>>>
>>>> On 1/5/21 10:56 PM, Alejandro Colomar (man-pages) wrote:
>>>>> Hi Michael,
>>>>>
>>>>> While having a look at your latest commits,
>>>>> I saw that there's a bit of inconsistency in escaping whitespace
>>>>> (existing previous to the commit):
>>>>>
>>>>> Sometimes it's [!\ (], and sometimes it's [! (].
>>>>
>>>> Thanks for prodding me about this.
>>>>
>>>> Yes, it's inconsistent. And given the use of .nf/.fi
>>>> around the text blocks, escaping the spaces serves no
>>>> purpose. So I made a more radical fix; see commit
>>>> 5c10d2c5e299011e34adb568737acfc8920fc27c
>>>
>>> Nice!
>>>
>>> After your following commit (422d5327a88fa89394100bafad69b21e50b26399),
>>> I found that there are many such cases.  Just [[grep -rnI '\\ ' man?]]
>>> and you'll see.  Some of them are valid, but a lot of them aren't.
>>
>> Can you point me at some examples?
> 
> A sample:
> 
> man3/envz_add.3:61:.RI ( *envz ,\  *envz_len )
> << this should be two lines
> man3/xdr.3:184:.IR "long\ *" .
> << unnecessary
> man3/scandir.3:277:.IR "const void\ *" .
> << unnecessary and self-inconsistent
> man5/proc.5:1350:.RI ( "readelf\ \-l" ).
> << unnecessary
> man7/symlink.7:424:.I "rm\ \-r slink directory"
> << unnecessary and self-inconsistent
> man7/feature_test_macros.7:492:.IR "cc\ \-std=c99" ).
> << unnecessary
> man8/ld.so.8:313:.IR "readelf\ \-n"
> << unnecessary
> 
> Maybe I'm missing something?

So, the point here is that suppose a line break falls badly and we end up with

...................... const void
* ...............................

or

......................... readelf
-n ..............................

or
.............................. cc
-std=c99 ........................

or

.............................. 16
MB ..............................

The general problem here is that a small piece of a unit (usually at
the end) is broken onto a new line, making  things a bit more
difficult to read. That sort of thing is ugly, I think. That's
why there is the "\\ ".

Maybe there are a few redundant cases. And maybe there are a few
borderline cases. For example, maybe in envz_add.3, "\\ " is
not strictly necessary (though I'm inclined to keep it).

There may still be a few misplaced "\\ " escapes (I just fixed a few),
but many of these really are needed, I think.

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[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