From 15db636380a6010c8486b3a7dc27188c96beff9c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 30 Jul 2014 12:26:03 +0100 Subject: %P at start of TCP function system prompt causes %-style prompt subst --- ChangeLog | 10 +++++++--- Doc/Zsh/tcpsys.yo | 4 ++++ Functions/TCP/tcp_output | 3 +++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index f71458516..f415e4803 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,12 @@ 2014-07-30 Peter Stephenson - * 32918: Doc/Zsh/prompt.yo, Functions/TCP/tcp_output, - Src/builtin.c,Src/prompt.c, Src/utils.c, Src/watch.c: add - ability to display times with fractions of a second in prompts. + * 32919: Doc/Zsh/tcpsys.yo Functions/TCP/tcp_output: %P + at start of prompt in TCP function system causes standard + %-style substitution. + + * 32918: Doc/Zsh/prompt.yo, Src/builtin.c,Src/prompt.c, + Src/utils.c, Src/watch.c: add ability to display times with + fractions of a second in prompts. 2014-07-28 Barton E. Schaefer diff --git a/Doc/Zsh/tcpsys.yo b/Doc/Zsh/tcpsys.yo index 599335bc9..1e26054ce 100644 --- a/Doc/Zsh/tcpsys.yo +++ b/Doc/Zsh/tcpsys.yo @@ -666,6 +666,10 @@ expression `tt(%c)' expands to 1 if the session being read is the current session, else 0; this is most useful in ternary expressions such as `tt(%LPAR()c.-.PLUS()RPAR())' which outputs `tt(PLUS())' if the session is the current one, else `tt(-)'. + +If the prompt starts with tt(%P), this is stripped and the complete +result of the previous stage is passed through standard prompt tt(%)-style +formatting before being output. ) vindex(TCP_READ_DEBUG) item(tt(TCP_READ_DEBUG))( diff --git a/Functions/TCP/tcp_output b/Functions/TCP/tcp_output index 781c46c33..22e818e17 100644 --- a/Functions/TCP/tcp_output +++ b/Functions/TCP/tcp_output @@ -35,6 +35,9 @@ if [[ -n $tprompt ]]; then cursess="c:0" fi zformat -f REPLY $tprompt "s:$sess" "f:$read_fd" $cursess + if [[ $REPLY = %P* ]]; then + REPLY=${(%)${REPLY##%P}} + fi # We will pass this back up. REPLY="$REPLY$*" else -- cgit 1.4.1