From b1ae269e555cb3997ebac0ceae936f563e3c67c1 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 23 Feb 2003 23:24:29 +0000 Subject: 18278: remove zgprintf, zformat already does this --- ChangeLog | 4 +++ Doc/Zsh/tcpsys.yo | 18 ------------- Functions/TCP/tcp_open | 3 ++- Functions/TCP/tcp_output | 2 +- Functions/TCP/tcp_spam | 4 +-- Functions/TCP/zgprintf | 70 ------------------------------------------------ 6 files changed, 9 insertions(+), 92 deletions(-) delete mode 100644 Functions/TCP/zgprintf diff --git a/ChangeLog b/ChangeLog index 53a4b78e5..55c1d26b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2003-02-23 Peter Stephenson + * 18278: Functions/TCP/tcp_output, Functions/TCP/tcp_spam, + Functions/TCP/zgprintf, Doc/Zsh/tcpsys.yo: zgprintf is already + implemented as zformat in the zsh/zutil module, so is unnecessary. + * unposted, see 18276: Completion/Unix/Command/_perforce: fix labels and clients after `@'; rationalise function and tag names; add date completion; add service=p4- support; diff --git a/Doc/Zsh/tcpsys.yo b/Doc/Zsh/tcpsys.yo index 40c92c1cb..82b80df11 100644 --- a/Doc/Zsh/tcpsys.yo +++ b/Doc/Zsh/tcpsys.yo @@ -495,24 +495,6 @@ files which are configured. The tt(-S) and tt(-F) options are used to pass in the session name and file descriptor for possible replacement in the prompt. ) -findex(zgprintf) -item(tt(zgprintf) tt(-rPR -%)var(X)tt(=)var(subst) var(fmt) tt([) var(val) tt(... ]))( -This function is used for performing tt(%)-replacement in prompts supplied -to tt(tcp_output). The var(fmt) string is printed to standard output. -The option tt(-%)var(X)tt(=)var(subst) specifies that any occurrence -of tt(%)var(X) in the var(fmt) string should be replaced by var(subst). -These arguments may be repeated for arbitrary var(X). - -The option tt(-r) specifies that the normal tt(print) conventions are not -to be used, as with the corresponding argument to the tt(print) builtin. - -The option tt(-R) specifies that the output is to be left in the parameter -tt($REPLY) instead of being printed. - -The option tt(-P) specifies that unhandled tt(%)-escapes should be -formatted by a call to tt(printf). Each is assumed to consume exactly one -additional var(val) argument. This option is only minimally implemented. -) enditem() texinode(TCP Parameters)(TCP Examples)(TCP Functions)(TCP Function System) diff --git a/Functions/TCP/tcp_open b/Functions/TCP/tcp_open index d9d5a96da..f762d932a 100644 --- a/Functions/TCP/tcp_open +++ b/Functions/TCP/tcp_open @@ -54,7 +54,8 @@ emulate -L zsh setopt extendedglob cbases zmodload -i zsh/net/tcp || return 1 -autoload -U zgprintf tcp_alias tcp_close tcp_command tcp_expect tcp_fd_handler +zmodload -i zsh/zutil +autoload -U tcp_alias tcp_close tcp_command tcp_expect tcp_fd_handler autoload -U tcp_log tcp_output tcp_proxy tcp_read tcp_rename tcp_send autoload -U tcp_sess tcp_spam tcp_talk tcp_wait diff --git a/Functions/TCP/tcp_output b/Functions/TCP/tcp_output index b22b79412..69177bae0 100644 --- a/Functions/TCP/tcp_output +++ b/Functions/TCP/tcp_output @@ -29,7 +29,7 @@ fi # where data is coming from; also, it allows more predictable # behaviour in tcp_expect. if [[ -n $tprompt ]]; then - zgprintf -R -%s=$sess -%f=$read_fd -- $tprompt + zformat -f REPLY $tprompt "s:$sess" "f:$read_fd" # We will pass this back up. REPLY="$REPLY$*" else diff --git a/Functions/TCP/tcp_spam b/Functions/TCP/tcp_spam index f5c612bee..b516ebaa2 100644 --- a/Functions/TCP/tcp_spam +++ b/Functions/TCP/tcp_spam @@ -91,7 +91,7 @@ for TCP_SESS in $sessions; do tcp_on_spam $TCP_SESS $cmd $* [[ $REPLY = done ]] && continue fi - [[ -n $verbose ]] && zgprintf -R -%s=$TCP_SESS \ - -%f=${tcp_by_name[$TCP_SESS]} -- $TCP_PROMPT + [[ -n $verbose ]] && zformat REPLY $TCP_PROMPT "s:$TCP_SESS" \ + "f:${tcp_by_name[$TCP_SESS]}" eval $cmd '$*' done diff --git a/Functions/TCP/zgprintf b/Functions/TCP/zgprintf deleted file mode 100644 index c448b35a2..000000000 --- a/Functions/TCP/zgprintf +++ /dev/null @@ -1,70 +0,0 @@ -# Generalised printf. -# Arguments of the form -%X=... give the output to be used with -# the directive %x. -# -# -P indicates that any unhandled directives are to be -# passed to printf. With this option, any %-escapes passed to printf -# are assumed to consume exactly one argument from the command line. -# Unused command line arguments are ignored. This is only minimally -# implemented. -# -# -R indicates the value is to be put into REPLY rather than printed. -# -# -r indicates that print formatting (backslash escapes etc.) should -# not be replied to the result. When using -R, no print formatting -# is applied in any case. - -emulate -L zsh -setopt extendedglob - -local opt printf fmt usereply match mbegin mend raw c -typeset -A chars -chars=(% %) - -while getopts "%:PrR" opt; do - case $opt in - (%) if [[ $OPTARG != ?=* ]]; then - print -r "Bad % option: should be -%${OPTARG[1]}=..." >&2 - return 1 - fi - chars[${OPTARG[1]}]=${OPTARG[3,-1]} - ;; - (P) printf=1 - ;; - (r) raw=-r - ;; - (R) usereply=1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -[[ -z $usereply ]] && local REPLY -REPLY= - -if (( $# )); then - fmt=$1 - shift -fi - -while [[ $fmt = (#b)([^%]#)%([-0-9.*]#?)(*) ]]; do - REPLY+=$match[1] - c=$match[2] - fmt=$match[3] - if [[ -n ${chars[$c]} ]]; then - REPLY+=${chars[$c]} - elif [[ -n $P ]]; then - # hmmm, we need sprintf... - # TODO: %ld etc. - REPLY+=`printf "%$c" $1` - (( $? )) && return 1 - shift - else - print -r "Format not handled: %$c" >&2 - return 1 - fi -done - -REPLY+=$fmt -[[ -z $usereply ]] && print -n $raw - $REPLY -return 0 -- cgit 1.4.1