bug-coreutils
[Top][All Lists]
Advanced

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

bug#9896: acknowledged by developer (Re: bug#9896: ln man page ambiguity


From: Jim Meyering
Subject: bug#9896: acknowledged by developer (Re: bug#9896: ln man page ambiguity)
Date: Mon, 21 Nov 2011 00:10:24 +0100

Paul Eggert wrote:
> On 11/20/11 12:26, Jim Meyering wrote:
>> ln is particularly confusing,
>
> You can say that again!  I found Michael's comment helpful, even if we
> can't satisfy every part of his request due to the need to make man
> pages brief reference manuals rather than longwinded tutorials.
>
> I suggest the following further changes, which follow his suggestions
> (1) to remove the use of the never-defined term "references", and (2)
> to define "destination" and use that definition systematically (we
> weren't doing that for -n).

Thanks!
However, ...

> diff --git a/src/ln.c b/src/ln.c
> index 88737ed..9f09933 100644
> --- a/src/ln.c
> +++ b/src/ln.c
> @@ -345,6 +345,7 @@ In the 1st form, create a link to TARGET with the name 
> LINK_NAME.\n\
>  In the 2nd form, create a link to TARGET in the current directory.\n\
>  In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n\
>  Create hard links by default, symbolic links with --symbolic.\n\
> +By default, destinations (locations of new links) should not already 
> exist.\n\

"location" might be construed to mean "directory in which it's created".
What do you think of this?

  By default, each destination (name of new link) should not already exist.\n\

>  When creating hard links, each TARGET must exist.  Symbolic links\n\
>  can hold arbitrary text; if later resolved, a relative link is\n\
>  interpreted in relation to its parent directory.\n\
> @@ -363,9 +364,9 @@ Mandatory arguments to long options are mandatory for 
> short options too.\n\
>  "), stdout);
>        fputs (_("\
>    -i, --interactive           prompt whether to remove destinations\n\
> -  -L, --logical               make hard links to symbolic link references\n\
> -  -n, --no-dereference        treat destination that is a symlink to a\n\
> -                                directory as if it were a normal file\n\
> +  -L, --logical               dereference TARGETs that are symbolic links\n\
> +  -n, --no-dereference        treat LINK_NAME as a normal file if\n\
> +                                it is a symbolic link to a directory\n\

While I like using terms from Usage, using LINK_NAME here
might make readers think that it applies only to the 1st form:

Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
  or:  ln [OPTION]... TARGET                  (2nd form)
  or:  ln [OPTION]... TARGET... DIRECTORY     (3rd form)
  or:  ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

since the others don't explicitly list "LINK_NAME".
Now that you've defined "destination", maybe it's better to use that?

>    -P, --physical              make hard links directly to symbolic links\n\
>    -s, --symbolic              make symbolic links instead of hard links\n\
>  "), stdout);
> @@ -373,7 +374,7 @@ Mandatory arguments to long options are mandatory for 
> short options too.\n\
>    -S, --suffix=SUFFIX         override the usual backup suffix\n\
>    -t, --target-directory=DIRECTORY  specify the DIRECTORY in which to 
> create\n\
>                                  the links\n\
> -  -T, --no-target-directory   treat LINK_NAME as a normal file\n\
> +  -T, --no-target-directory   treat LINK_NAME as a normal file always\n\
>    -v, --verbose               print name of each linked file\n\
>  "), stdout);
>        fputs (HELP_OPTION_DESCRIPTION, stdout);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]