From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 19764 invoked from network); 7 Dec 2022 22:56:09 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 7 Dec 2022 22:56:09 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670453769; b=osRFDYE/hsYuFTlFm1UTUpKrYvSKKYZU6V24mOPfeqZXveI7lL5iCmWyJE1j21HG+3TZkmk2qS Sqnx6TpN6rxtuodAihoLeU37UCZpsNsmKA3vcSfvMbVsVb9EbBscAJKr8M2Z2RLGUJX7bGOgHL dz2IdVZZeFM8rK9519oGiZZ+e7ITWwv1+kjN6hWbHqTGcqVVVgt0fjEF1zSw2cqdSJfZkBYnnq J7Iofs15ycQ7qWy9necKKD8AhQUEYq+f+sz+dM2hB8DbG+K7S43IsTb4CyypN2dk0rOcsEdr5I eqZsXNP8Tv7sV8++45WtQLUkPg/QlUBgw5VTxhnPQ2pExA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yb1-f178.google.com) smtp.remote-ip=209.85.219.178; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1670453769; bh=wVpvcSBBqCpIV7aD5iHaZNBb5DpU8yNgpva0r9xRe8A=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=JS3+yDZKemAWCMK/HG1kqAQ4MpTVndAb+6mOVkxLANgRKbtKr9XZph45Cg2NPdKCuoEyTXgvHv FpZcJ72fqr11MUlygBEy1Wwqx8sqKscR7NJdZqVyJscxMhYcCzkzAfP0QUeO2abuahXqfA4iV/ WVcskBq+O/AzQxfbHqpGduLzjBW3amzsso3FhoIO73rYEJTpkmTFtTiYk6OLNXOCfKYpxunGzB MAR0PVbhI3F8seC+cutGA+8daNx901bPROO6AByDVHrgMblmEHnXccVtdqISgK4rX5LWXebScl gpy0oHHVs0zgJb63wv0NQPHTsh6zIxKAz0P9RNHEENuzvA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=dsKjNmkiAxrAqgQbMwPrMYD5MpN4TSPFjJw5xLpQtN4=; b=HZQ9qJNgyDPyxO6dU8eez/F4X9 h9j28w1kFOwEEhjW/3QpkYYvs7eZP6N5beNuav4nmZcH/+mgzHjyaoQqZdtNJyVV1ylzUtegUviqb SDGioKM37KaE/NsTtFHRI+RzPg8lbtd4WgHwArq9rOxx9KcEPpoVl+jXECQpQC7sP9t/nzxos2m4u A/pipeqFdy1WpNAobM8SVJEo51BwsY12AQZKPrVky9BZ5w6P4+Hp+a/uRqCIrmbKXL76mHNR3iH2m ygSAz1+R56CkAev3080Rr8FWBJ3hadYY4F1EJnVoAGFFvkPoo6YyVFDlDqGDPk1+qUmI7WB7CwFcf v56uVwdw==; Received: by zero.zsh.org with local id 1p33Kh-000EVx-VM; Wed, 07 Dec 2022 22:56:08 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yb1-f178.google.com) smtp.remote-ip=209.85.219.178; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-yb1-f178.google.com ([209.85.219.178]:39426) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1p33K8-000EEP-4G; Wed, 07 Dec 2022 22:55:33 +0000 Received: by mail-yb1-f178.google.com with SMTP id v71so46863ybv.6 for ; Wed, 07 Dec 2022 14:55:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dsKjNmkiAxrAqgQbMwPrMYD5MpN4TSPFjJw5xLpQtN4=; b=UrQSxtIKt2B45cJ2pd2TnPZFPefHoJBTuJgloocoZCxBa9okoRr8zz1XaHMkFzwNWA YB8FT0Ndf3WSE7Fo6aa9jXFDeLoFbXHsEStM2HUuPaT6frkr6rHwK3d9oIUio17Yw2g9 xeEr8RNZrQGkCZAmelQXmZ9gPJZUXucE3fj/ojkpVsMLXrKVn2epQS4v3GJjdDDF9UYv C2lLNqmQdmMnKnSurBomYtuMFuj0KH8TJnGgRYRJowDbkZ/L2cVKWzH+gdouCBdGXkgO CPzHrNl7TZ1EdU3w3SsGv7OYhzYRXusXw/H6qlni8lzRm4ek3pT+FSqwR+esoNAVVSGQ sgFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dsKjNmkiAxrAqgQbMwPrMYD5MpN4TSPFjJw5xLpQtN4=; b=4sYb8LoYIdnM4G4ZCjXz5Hs2pWH2H/ZKFfxttzhGv3HArXtZlxv3f63mk4rC+HeN/O fdMve8LyYkFDeMBprolEo9DQ80PeZ46scN1ft+LLcgHie76Uhv6U/QjEx12SqASVeDIq fDzEkebkhGwwoGGdKINKt7jS3f0pGfvrpqJxySFdvW51VGCSRj5vbVnIKtaryq1MFqOA v8sNosSHJwzLGE+QDJxQLpyVCtGX/A5zJ65lQBEMs5d2jTvHgxwTZZzuTo5Su4Biy15L +8qzLTY9JlMqCB3mKtCi6jwDXFWGJP8fcUytzeQDGJ0qtmOYuONxuX01rU752EOH+M/g +/lg== X-Gm-Message-State: ANoB5pkZn4nNEXEVPIC2LNalnootElZaiKMhXojZgTxEZKhqz1J2DADd fc6pO4QI5EqnWwiG3Rr/9kCKPWTUI8T+qJKEn8VT8Bl3H9s= X-Google-Smtp-Source: AA0mqf4F4ykspQOkSsnLCyJiHBWEI/9hbz5zCtocAM0y5C8FgdeRXm1FbS4fKmAx/ptojLo883VUBAo0Wlxp24B10m8= X-Received: by 2002:a5b:501:0:b0:6ee:862a:3421 with SMTP id o1-20020a5b0501000000b006ee862a3421mr64999231ybp.63.1670453730370; Wed, 07 Dec 2022 14:55:30 -0800 (PST) MIME-Version: 1.0 References: <9e3026aa-39a1-dd50-4d29-a64724d4eaaf@irit.fr> In-Reply-To: <9e3026aa-39a1-dd50-4d29-a64724d4eaaf@irit.fr> From: Roman Perepelitsa Date: Wed, 7 Dec 2022 23:55:17 +0100 Message-ID: Subject: Re: [bug report] prompt can erase messages written on the terminal by background processes To: Millian Poquet Cc: zsh-workers@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 51128 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: On Wed, Dec 7, 2022 at 8:04 PM Millian Poquet wrote: > > prompt can erase messages written on the terminal by background processes Not just prompt but zle in general, or any program really that moves the cursor (try `top`, for example, or `less`). There is no way around it. Zle assumes that nobody else prints to the terminal. If this assumption is violated, the outcome is unspecified mess. Here's a simpler demonstration. Run this in interactive zsh: ( sleep 3; print -rn hello ) &! Then immediately type "ls" and wait without hitting enter. A moment later "hello" will appear on the command line. Try editing it and observe that zle is essentially broken. You can break any terminal program that moves the cursor by using this trick. Try running `top` immediately after the command listed above, or after you C program, which is essentially the same. Roman.