On 2018-12-05 09:58:21 +0100, Vincent Lefevre wrote: > On 2018-12-04 21:50:47 -0500, Thomas Dickey wrote: > > That looks as expected, if you've got two different things writing to > > the terminal at the same time: > > > > https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Bracketed-Paste-Mode > > So, perhaps I can see something with zsh (without Ctrl-V first) and > Emacs because bracketed paste is enabled or something like that. > > > but the execvp command by itself doesn't do the writing > > So, what is doing the writing?
According to strace, it is xterm: 9778 10:04:41.227873 execve("/usr/bin/xterm", ["/usr/bin/xterm"], 0x7ffe02b1f450 /* 130 vars */) = 0 [...] 9778 10:04:49.481306 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f25aa037850) = 9880 9880 10:04:49.481629 set_robust_list(0x7f25aa037860, 24 <unfinished ...> 9778 10:04:49.481637 write(4, "\33[201~", 6 <unfinished ...> [...] The full "strace -f -tt" output after the Ctrl-Meta-click that triggers the exec-formatted: 9778 10:04:47.351453 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\2%\321\4\3715\253\31\354\2\0\0\33\0@\4\0\0\0\0i\10\377\0\323\0}\0\0\0\1\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 9778 10:04:47.351782 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.352239 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.352691 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.353263 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:47.353418 writev(3, [{iov_base="-\32\4\0004\0@\4\4\0@\4nil2/\335\2\0004\0@\4", iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24 9778 10:04:47.353772 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:47.354220 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\323\0041\3\0\0\0\0\0\0\1\0\0\0\377\377\0\0\0\0\0\0\0\0\1\0\1\0\2\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 3300 9778 10:04:47.354712 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:47.355050 writev(3, [{iov_base="/\32\2\0004\0@\4", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8 9778 10:04:47.355221 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:47.355322 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\324\0041\3\0\0\0\0\0\0\1\0\0\0\377\377\0\0\0\0\0\0\0\0\1\0\1\0\2\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 3300 9778 10:04:47.355472 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:47.355542 writev(3, [{iov_base="\20\0\4\0\6\0@\4cursorl2", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16 9778 10:04:47.355621 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:47.355704 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\325\4\0\0\0\0\231\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 9778 10:04:47.355799 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.355861 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.355923 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:47.355987 writev(3, [{iov_base="^\0\10\0005\0@\0044\0@\0044\0@\4X\0 \0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=72}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 72 9778 10:04:47.356062 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356122 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356182 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.356245 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356304 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356365 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356424 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356483 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356542 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.356602 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.356661 select(5, [3 4], [], NULL, NULL) = 1 (in [3]) 9778 10:04:47.375198 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\2\205\331\4\0216\253\31\354\2\0\0\33\0@\4\0\0\0\0i\10\377\0\323\0}\0\4\0\1\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 9778 10:04:47.375643 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.376094 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.376420 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.376667 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.377104 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.377450 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.377733 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.377994 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.378136 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:47.378209 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:47.378285 select(5, [3 4], [], NULL, NULL) = 1 (in [3]) 9778 10:04:49.479204 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\10\1\331\4I>\253\31\354\2\0\0\r\0@\4\33\0@\4i\10\377\0\323\0}\0\f\1\1\3"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 96 9778 10:04:49.479468 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.479684 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.479824 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.479857 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.479881 writev(3, [{iov_base="[\0\4\0 \0\0\0\0\0\377\0\0\0\0\0", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16 9778 10:04:49.479912 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:49.479952 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\332\4\4\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48 9778 10:04:49.479988 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.480009 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.480049 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.480070 writev(3, [{iov_base="`\0\5\0\2\0@\4\377\377\0\0\0\0\0\0\0\0\0\0\2\0\4\0\33\0@\4\0@\0\0"..., iov_len=68}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 68 9778 10:04:49.480095 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:49.480272 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\336\4\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 9778 10:04:49.480303 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.480324 writev(3, [{iov_base="\20\0\3\0\4\0@\4TEXT", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12 9778 10:04:49.480349 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:49.480372 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\337\4\0\0\0\0|\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 9778 10:04:49.480398 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.480419 writev(3, [{iov_base="\20\0\6\0\r\0@\4COMPOUND_TEXT\0\4\0", iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24 9778 10:04:49.480443 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:49.480464 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\340\4\0\0\0\0}\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 9778 10:04:49.480493 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.480514 writev(3, [{iov_base="\20\0\3\0\4\0@\4INCR\20\0\4\0\10\0EXMULTIPLE\20\0\5\0"..., iov_len=72}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 72 9778 10:04:49.480539 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:49.480560 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\341\4\0\0\0\0\177\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 128 9778 10:04:49.480602 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480623 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480643 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.480664 writev(3, [{iov_base="\23\0\3\0\33\0@\4\221\2\0\0\30\0\6\0\33\0@\4\1\0\0\0W\1\0\0\221\2\0\0"..., iov_len=36}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 36 9778 10:04:49.480689 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480709 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480728 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.480749 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480768 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480788 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480808 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480831 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480860 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.480886 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.480912 select(5, [3 4], [], NULL, NULL) = 1 (in [3]) 9778 10:04:49.481051 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\34\0\346\4\33\0@\4\221\2\0\0L>\253\31\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64 9778 10:04:49.481079 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9778 10:04:49.481100 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.481121 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.481142 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) 9778 10:04:49.481166 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) 9778 10:04:49.481187 writev(3, [{iov_base="\24\0\6\0\33\0@\4\221\2\0\0\0\0\0\0\0\0\0\0\200\226\230\0", iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24 9778 10:04:49.481214 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 9778 10:04:49.481235 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\10\347\4\3\0\0\0W\1\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 44 9778 10:04:49.481269 readlink("/proc/9780/cwd", "/home/vinc17", 100) = 12 9778 10:04:49.481306 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f25aa037850) = 9880 9880 10:04:49.481629 set_robust_list(0x7f25aa037860, 24 <unfinished ...> 9778 10:04:49.481637 write(4, "\33[201~", 6 <unfinished ...> 9880 10:04:49.481646 <... set_robust_list resumed> ) = 0 9778 10:04:49.481652 <... write resumed> ) = 6 9880 10:04:49.481669 chdir("/home/vinc17" <unfinished ...> 9778 10:04:49.481678 recvmsg(3, <unfinished ...> 9880 10:04:49.481686 <... chdir resumed> ) = 0 9778 10:04:49.481693 <... recvmsg resumed> {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable) 9780 10:04:49.481700 <... read resumed> "\33", 1) = 1 9778 10:04:49.481709 recvmsg(3, <unfinished ...> 9880 10:04:49.481717 execve("/bin/true", ["/bin/true"], 0x55e69924beb0 /* 131 vars */ <unfinished ...> [...] (For the test, I replaced "browser %s" by "/bin/true" for simplicity.) -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)