Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Pasting of long lines to ZLE is buggy under Mac OS X
- X-seq: zsh-workers 25799
- From: Stephane Chazelas <Stephane_Chazelas@xxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: Pasting of long lines to ZLE is buggy under Mac OS X
- Date: Thu, 2 Oct 2008 09:17:58 +0100
- In-reply-to: <20081002065525.GR24822@xxxxxxxxxxxxxxxxxxx>
- Mail-followup-to: zsh-workers@xxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20081002065525.GR24822@xxxxxxxxxxxxxxxxxxx>
On Thu, Oct 02, 2008 at 08:55:25AM +0200, Vincent Lefevre wrote:
> It seems that zsh 4.3.6 suffers from a buffering problem when pasting
> long lines under Mac OS X (at least 10.4.11). Other software, such as
> bash and emacs (running in a terminal), does not seem to have such a
> problem.
[...]
You may want to try "strace" or "truss" or the equivalent on
your system.
Here (4.3.6-dev-0+0925), it seems zsh reads one character at a time, and for
every character, surprisingly, it does:
read(10, "."..., 1) = 1
fcntl64(0, F_DUPFD, 10) = 11
close(0) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD], 8) = 0
dup2(11, 0) = 0
close(11) = 0
write(10, "."..., 1.) = 1
It doesn't do that on another machine with 4.3.6-dev-0+0925
(debian x86 as well) where it just does:
read(10, "f"..., 1) = 1
write(10, "f"..., 1f) = 1
But if zsh reads one character at a time, it's difficult to
explain how big copy pastes cause problems.
--
Stéphane
Messages sorted by:
Reverse Date,
Date,
Thread,
Author