diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Doc/Zsh/builtins.yo | 8 | ||||
-rw-r--r-- | Functions/TCP/tcp_fd_handler | 4 | ||||
-rw-r--r-- | Functions/TCP/tcp_read | 2 | ||||
-rw-r--r-- | Functions/TCP/tcp_send | 2 | ||||
-rw-r--r-- | Functions/TCP/tcp_sess | 2 |
6 files changed, 16 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog index 82e743a90..5370d0bb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-07-25 Peter Stephenson <pws@csr.com> + + * 18908: Doc/Zsh/builtins.yo, Functions/TCP/tcp_fd_handler, + Functions/TCP/tcp_read, Functions/TCP/tcp_send, + Functions/TCP/tcp_sess: Use print/read -u for supplying fd's. + Tweak documentation for print/read -u for consistency. + 2003-07-24 Oliver Kiddle <opk@zsh.org> * 18901: baptiste daroussin (and Nikolai Weibull, 18894): diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo index a31e7fde6..d7f4625e4 100644 --- a/Doc/Zsh/builtins.yo +++ b/Doc/Zsh/builtins.yo @@ -657,7 +657,7 @@ If the tt(PUSHD_MINUS) option is set, the meanings of `tt(PLUS())' and `tt(-)' in this context are swapped. ) findex(print) -xitem(tt(print) [ tt(-abcDilmnNoOpPrsz) ] [ tt(-u)var(n) ] [ tt(-f) var(format) ] [ tt(-C) var(cols) ]) +xitem(tt(print) [ tt(-abcDilmnNoOpPrsz) ] [ tt(-u) var(n) ] [ tt(-f) var(format) ] [ tt(-C) var(cols) ]) item( [ tt(-R) [ tt(-en) ]] [ var(arg) ... ])( With the `tt(-f)' option the arguments are printed as described by tt(printf). With no flags or with the flag `tt(-)', the arguments are printed on @@ -738,7 +738,7 @@ tt(-R); all other arguments and options are printed. item(tt(-s))( Place the results in the history list instead of on the standard output. ) -item(tt(-u)var(n))( +item(tt(-u) var(n))( Print the arguments to file descriptor var(n). ) item(tt(-z))( @@ -827,7 +827,7 @@ alias(r)(fc -e -) findex(read) vindex(IFS, use of) ifzman(xitem(tt(read) [ tt(-rszpqAclneE) ] [ tt(-t) [ var(num) ] ] [ tt(-k) [ var(num) ] ] [ tt(-d) var(delim) ])) -item(ifnzman(tt(read) [ tt(-rszpqAclneE) ] [ tt(-t) [ var(num) ] ] [ tt(-k) [ var(num) ] ] [ tt(-d) var(delim) ]) [ tt(-u)var(n) ] [ var(name)[tt(?)var(prompt)] ] [ var(name) ... ])( +item(ifnzman(tt(read) [ tt(-rszpqAclneE) ] [ tt(-t) [ var(num) ] ] [ tt(-k) [ var(num) ] ] [ tt(-d) var(delim) ]) [ tt(-u) var(n) ] [ var(name)[tt(?)var(prompt)] ] [ var(name) ... ])( vindex(REPLY, use of) vindex(reply, use of) Read one line and break it into fields using the characters @@ -895,7 +895,7 @@ read. Note that the command name is word number 1, not word 0, and that when the cursor is at the end of the line, its character index is the length of the line plus one. ) -item(tt(-u)var(n))( +item(tt(-u) var(n))( Input is read from file descriptor var(n). ) item(tt(-p))( diff --git a/Functions/TCP/tcp_fd_handler b/Functions/TCP/tcp_fd_handler index 012fd4d87..33f553536 100644 --- a/Functions/TCP/tcp_fd_handler +++ b/Functions/TCP/tcp_fd_handler @@ -20,14 +20,14 @@ else zle -I # Handle fds not in the TCP set similarly. # This does the drain thing, to try and get as much data out as possible. - if ! read line <&$1; then + if ! read -u $1 line; then print "[Reading on $1 failed; removing from poll list]" >& 2 zle -F $1 return 1 fi line="fd$1:$line" local newline - while read -t newline <&$1; do + while read -u $1 -t newline; do line="${line} fd$1:$newline" done diff --git a/Functions/TCP/tcp_read b/Functions/TCP/tcp_read index 51e5356cc..f70bd798c 100644 --- a/Functions/TCP/tcp_read +++ b/Functions/TCP/tcp_read @@ -190,7 +190,7 @@ while (( ${#read_fds} )); do print "[tcp_read: returned fds ${reply}]" >&2 fi for read_fd in ${reply[2,-1]}; do - if ! read -r line <&$read_fd; then + if ! read -u $read_fd -r line; then unset "read_fds[$read_fd]" stat=1 continue diff --git a/Functions/TCP/tcp_send b/Functions/TCP/tcp_send index c5f902f71..c6d8ad637 100644 --- a/Functions/TCP/tcp_send +++ b/Functions/TCP/tcp_send @@ -62,7 +62,7 @@ for TCP_SESS in $sessions; do mystat=1 continue fi - print $nonewline -r -- $* >&$fd + print -u $fd $nonewline -r -- $* if [[ $? -ne 0 || -n $TCP_FD_CLOSED ]]; then print "Session ${TCP_SESS}: fd $fd unusable." >&2 unset TCP_FD_CLOSED diff --git a/Functions/TCP/tcp_sess b/Functions/TCP/tcp_sess index ee3d268b3..a07c33a03 100644 --- a/Functions/TCP/tcp_sess +++ b/Functions/TCP/tcp_sess @@ -33,7 +33,7 @@ for name in ${(ko)tcp_by_name}; do else cur= fi - print "sess:$name; fd:$fd$cur" >&$__myfd + print -u $__myfd "sess:$name; fd:$fd$cur" done return $(( __myfd - 1 )) |