zsh-workers
 help / color / mirror / code / Atom feed
* $PWD and ~+ (and others) in documentation
@ 2010-09-21 15:48 Mikael Magnusson
  2010-09-22 19:26 ` Peter Stephenson
  0 siblings, 1 reply; 3+ messages in thread
From: Mikael Magnusson @ 2010-09-21 15:48 UTC (permalink / raw)
  To: zsh workers

Hi,

I noticed that PWD can be assigned to, and found a thread from 98
where it was discussed a bit. Apparently some scripts like to assign
to it and they were broken under zsh. The "problem" is that the
documentation says things like

       %/     Present working directory ($PWD).  If an integer follows
the  `%',  it
              specifies  a number of trailing components of $PWD to
show; zero means
              the whole path.  A negative integer specifies leading
components, i.e.
              %-1d specifies the first component.

However, after PWD has been assigned to, %/ still shows the actual
current directory, not the value of $PWD. The same applies to ~+, ~-
(and $OLDPWD), %~ and probably other things.

The above section could be said to introduce $PWD as a local
abbreviation of "Present working directory", but this section for
example doesn't

       A  `~'  by itself is replaced by the value of $HOME.  A `~'
followed by a `+'
       or a `-' is replaced by the value of $PWD or $OLDPWD, respectively.

Should I fix this, or does nobody care? And by fix, do I mean changing
the appropriate occurrences of "$PWD" to "the current working
directory" or something else? :)

-- 
Mikael Magnusson


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: $PWD and ~+ (and others) in documentation
  2010-09-21 15:48 $PWD and ~+ (and others) in documentation Mikael Magnusson
@ 2010-09-22 19:26 ` Peter Stephenson
  2010-12-06 11:34   ` Mikael Magnusson
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Stephenson @ 2010-09-22 19:26 UTC (permalink / raw)
  To: zsh workers

On Tue, 21 Sep 2010 17:48:41 +0200
Mikael Magnusson <mikachu@gmail.com> wrote:
> Should I fix this, or does nobody care? And by fix, do I mean changing
> the appropriate occurrences of "$PWD" to "the current working
> directory" or something else? :)

I think that's the right change:  assigning to PWD is for scripts, as
you noted, and the prompt should show the real working directory.

-- 
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: $PWD and ~+ (and others) in documentation
  2010-09-22 19:26 ` Peter Stephenson
@ 2010-12-06 11:34   ` Mikael Magnusson
  0 siblings, 0 replies; 3+ messages in thread
From: Mikael Magnusson @ 2010-12-06 11:34 UTC (permalink / raw)
  To: zsh workers

On 22 September 2010 21:26, Peter Stephenson
<p.w.stephenson@ntlworld.com> wrote:
> On Tue, 21 Sep 2010 17:48:41 +0200
> Mikael Magnusson <mikachu@gmail.com> wrote:
>> Should I fix this, or does nobody care? And by fix, do I mean changing
>> the appropriate occurrences of "$PWD" to "the current working
>> directory" or something else? :)
>
> I think that's the right change:  assigning to PWD is for scripts, as
> you noted, and the prompt should show the real working directory.

http://mika.l3ib.org/patches/zsh-pwd.patch

>From a72c328a2bf2bf47b9e705f56a3278eb47717b3e Mon Sep 17 00:00:00 2001
From: Mikael Magnusson <mikachu@gmail.com>
Date: Mon, 6 Dec 2010 12:31:41 +0100
Subject: [PATCH] PWD

---
 Doc/Zsh/builtins.yo |    2 +-
 Doc/Zsh/expn.yo     |    4 ++--
 Doc/Zsh/options.yo  |    6 +++---
 Doc/Zsh/prompt.yo   |   19 ++++++++++---------
 4 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo
index 02071fb..3be4a8b 100644
--- a/Doc/Zsh/builtins.yo
+++ b/Doc/Zsh/builtins.yo
@@ -169,7 +169,7 @@ item(tt(cd) [ tt(-qsLP) ] {tt(PLUS())|tt(-)}var(n))(
 Change the current directory.  In the first form, change the
 current directory to var(arg), or to the value of tt($HOME) if
 var(arg) is not specified.  If var(arg) is `tt(-)', change to the
-value of tt($OLDPWD), the previous directory.
+previous directory.

 Otherwise, if var(arg) begins with a slash, attempt to change to the
 directory given by var(arg).
diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo
index 0f15447..1e2ffff 100644
--- a/Doc/Zsh/expn.yo
+++ b/Doc/Zsh/expn.yo
@@ -1472,8 +1472,8 @@ described here.  If so, then the `tt(~)' and the
checked portion are
 replaced with the appropriate substitute value.

 A `tt(~)' by itself is replaced by the value of tt($HOME).
-A `tt(~)' followed by a `tt(PLUS())' or a `tt(-)' is replaced by the value of
-tt($PWD) or tt($OLDPWD), respectively.
+A `tt(~)' followed by a `tt(PLUS())' or a `tt(-)' is replaced by current
+or previous working directory, respectively.

 A `tt(~)' followed by a number is replaced by the directory at that
 position in the directory stack.
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
index b050639..a965971 100644
--- a/Doc/Zsh/options.yo
+++ b/Doc/Zsh/options.yo
@@ -93,9 +93,9 @@ item(tt(CHASE_DOTS))(
 When changing to a directory containing a path segment `tt(..)' which would
 otherwise be treated as canceling the previous segment in the path (in
 other words, `tt(foo/..)' would be removed from the path, or if `tt(..)' is
-the first part of the path, the last part of tt($PWD) would be deleted),
-instead resolve the path to the physical directory.  This option is
-overridden by tt(CHASE_LINKS).
+the first part of the path, the last part of the current working directory
+would be removed), instead resolve the path to the physical directory.
+This option is overridden by tt(CHASE_LINKS).

 For example, suppose tt(/foo/bar) is a link to the directory tt(/alt/rod).
 Without this option set, `tt(cd /foo/bar/..)' changes to tt(/foo); with it
diff --git a/Doc/Zsh/prompt.yo b/Doc/Zsh/prompt.yo
index e55338e..8d79795 100644
--- a/Doc/Zsh/prompt.yo
+++ b/Doc/Zsh/prompt.yo
@@ -93,16 +93,17 @@ continuation lines and tt(PS4) for debugging with
the tt(XTRACE) option; in
 the latter case it will also work non-interactively.
 )
 xitem(tt(%d))
-item(tt(%/))(
-Present working directory (tt($PWD)).  If an integer follows the `tt(%)',
-it specifies a number of trailing components of tt($PWD) to show; zero
-means the whole path.  A negative integer specifies leading components,
-i.e. tt(%-1d) specifies the first component.
+item(tt(/))(
+Current working directory.  If an integer follows the `tt(%)',
+it specifies a number of trailing components of the current working
+directory to show; zero means the whole path.  A negative integer
+specifies leading components, i.e. tt(%-1d) specifies the first component.
 )
 item(tt(%~))(
-As tt(%d) and tt(%/), but if tt($PWD) has a named directory as its prefix,
-that part is replaced by a `tt(~)' followed by the name of the directory.
-If it starts with tt($HOME), that part is replaced by a `tt(~)'.
+As tt(%d) and tt(%/), but if the current working directory has a named
+directory as its prefix, that part is replaced by a `tt(~)' followed by
+the name of the directory.  If it starts with tt($HOME), that part is
+replaced by a `tt(~)'.
 )
 xitem(tt(%h))
 item(tt(%!))(
@@ -139,7 +140,7 @@ names are not shown, instead the file where they
were defined.
 xitem(tt(%c))
 xitem(tt(%.))
 item(tt(%C))(
-Trailing component of tt($PWD).
+Trailing component of the current working directory.
 An integer may follow the `tt(%)' to get more than one component.
 Unless `tt(%C)' is used, tilde contraction is performed first.  These are
 deprecated as tt(%c) and tt(%C) are equivalent to tt(%1~) and tt(%1/),
-- 
1.7.3



-- 
Mikael Magnusson


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-12-06 11:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-21 15:48 $PWD and ~+ (and others) in documentation Mikael Magnusson
2010-09-22 19:26 ` Peter Stephenson
2010-12-06 11:34   ` Mikael Magnusson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).