1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-22 16:20:23 +02:00

20208: ternary path codes in prompt treat / as zero elements

This commit is contained in:
Peter Stephenson 2004-07-29 11:45:53 +00:00
parent 241aa1d40d
commit e1d8ca1d70
3 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2004-07-29 Peter Stephenson <pws@csr.com>
* 20208: Src/prompt.c, Doc/Zsh/prompt.yo: ternary code character C
etc. treat / as path with zero elements.
2004-07-28 Peter Stephenson <pws@csr.com>
* 20214: Src/parse.c: fix debugging test that didn't work

View file

@ -217,11 +217,13 @@ sitem(tt(#))(True if the effective uid of the current process is var(n).)
sitem(tt(?))(True if the exit status of the last command was var(n).)
sitem(tt(_))(True if at least var(n) shell constructs were started.)
sxitem(tt(C))
sitem(tt(/))(True if the current absolute path has at least var(n) elements.)
sitem(tt(/))(True if the current absolute path has at least var(n) elements
relative to the root directory, hence tt(/) is counted as 0 elements.)
sxitem(tt(c))
sxitem(tt(.))
sitem(tt(~))(True if the current path, with prefix replacement, has at
least var(n) elements.)
least var(n) elements relative to the root directory, hence tt(/) is
counted as 0 elements.)
sitem(tt(D))(True if the month is equal to var(n) (January = 0).)
sitem(tt(d))(True if the day of the month is equal to var(n).)
sitem(tt(g))(True if the effective gid of the current process is var(n).)

View file

@ -244,9 +244,12 @@ putpromptchar(int doprint, int endchar)
if ((nd = finddir(ss))) {
arg--;
ss += strlen(nd->dir);
}
} /*FALLTHROUGH*/
case '/':
case 'C':
/* `/' gives 0, `/any' gives 1, etc. */
if (*ss++ == '/' && *ss)
arg--;
for (; *ss; ss++)
if (*ss == '/')
arg--;