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 20247 invoked from network); 8 Dec 2022 08:35:08 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 8 Dec 2022 08:35:08 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670488508; b=awlPeYWCmvHlTfwQ3CW9AThN2uQIR6QZUwRkkopPvsguJWZh7s494ZyjI76VVSw2bWGGUrAxDK yacl9d4r3WXpHYJ2ca6dqCvVhZGxY7D/q44Dv2JKHOlh3mbx2D9cpwSNvPh5ZtoRBKwCE7FsKv 8hURnkCwtH4NFS3ON0QxhIjbdrBlOOlSTb+BV16UtjnFJNDsxZ7oFBSUZKaCY9MYrJ8M3v4dNB ak+ApMUES4ni7A0UKmDRfLkt1PtqrA5pNo0atIsmlCYzVtb7iXeTnhPhVZzknMbpchra/A35fJ foFhPgQiET1mgkxiSslfwda6VZp4EX+usD5HDTttFYt+lg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yw1-f169.google.com) smtp.remote-ip=209.85.128.169; 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=1670488508; bh=Ck6tav71h6RV0nLixT88MmGwF0ZK0mF5JQoPBl8PXNU=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=omFSKUme46PuEpK2wFHdXE4XzrwskHvIdcIUkCDeThK04lphHQnaZJw7YffzxRPAkKZdKPGg8i gDLDW6Y/ZNlKXEKzlnl9egs0OXoJVoFzBZJe/YclyAIMO7ukl5kg0ld3CMs9/H4sc2EbWkxVNO Ll3Sp9klW8owhn93or2pxwzclzMglWFjy9vUVhbe1LPO7WMauR+Ne54zyg7BHafKDsOPgHQDcC MX5dNiWhyL/t/iItM1yOEs93eAELjNVJQ4EG5tB9nku10J/0i0/IyH7S7Mh248YdJS1iVGNO7M h4EqAaqrDHLx5Ldpap4IH7ePKX/2lT6fyg4sJibbSoDszw==; 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:To:Subject:Message-ID: Date:From:In-Reply-To:References:MIME-Version:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=ctLvcDjD1ud6F1ar/kUzSD8YyumCWbedNBYP91VYIcM=; b=f6uTIQGLcFBq8bZlueCCj0SlAu pHYXzYuv+ehdJSkD6liwQSWDXShR5lch0XYJmWevLHkQuYjezZRdmfzcROWYq4eWj/A0FOa3+5Mjq G/qokT1o+1DOMgcJCjCJSZtTaw37WlI5KuzEaHvO2/G9Jro2RSFoaaOm/Ma6bQwlBXPshvp8L8X8s bqBzXliLavZE1v8TXHpGQZaxqsZhJAZP8OYy+FH4nEGMg4f71JTslZfXuvcqyFmz4C8iSOUYmlq0O RKQPNk23h9jrQTSmnuKQVknfP4UWJ+ryV186mLJlaIr5W3nwLp3JAG1VMF19h2I1LyxIFbfx/A8yE 2KB77n+A==; Received: by zero.zsh.org with local id 1p3CN1-00064G-Oc; Thu, 08 Dec 2022 08:35:08 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yw1-f169.google.com) smtp.remote-ip=209.85.128.169; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-yw1-f169.google.com ([209.85.128.169]:46910) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1p3CMo-0005mE-IE; Thu, 08 Dec 2022 08:34:55 +0000 Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-3b56782b3f6so6647787b3.13 for ; Thu, 08 Dec 2022 00:34:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=ctLvcDjD1ud6F1ar/kUzSD8YyumCWbedNBYP91VYIcM=; b=YcZSbYl2zhqDv1T0dFLaS7N3RDH+31bb9Ag0VuvI6ng0+LiX1+TMc7OsOorcJPKEfo ASXIo4X5F65QgxHBPQ5bo9x3vlAgP2wUvL4LBRR7Adiud9Js2og29dfvTabnyaWns45j ujyzTZYDY++tX6Edw08CFAGXTASmbKAHYrjrrDTv9F8C0L/570js9wDDqFUphqNb5ImR n5uFgBmuV8zo2YG6+zk/sXMdElXCDDdFgD3BNDJXbzOzNbcqDsAvZiBljYp4VOxDDIme CBUaAAk9uYwUPQbLyu6U9MGfl3goDMaJd6TuHyhnPE5U0aiQmJXajUheLvzegwUnoWan 0pnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=ctLvcDjD1ud6F1ar/kUzSD8YyumCWbedNBYP91VYIcM=; b=XP5tlDiRljlX58EAOAE/LGYRnyWZefJiE0LlqeUhXLPOtZH5rmZ+4ZVq7c0vhGMKUK zjZ1H855QdzQdt55v+FIhR2xIg4m7RnezkVdZHD+Zu/pMOfRqJT6ziUgDAL6EEi+FGSG D0Pabu8P9O7x3fvQKUoPmUwlR/88idE24R69YaVJ+Tvp2L9n7g8WY/6L5aAHFvSnEtZd +aF38bASdRaKL/KjjoKZ96SB6FmQ/sVjOyXuKcY4zKct2mzUG5Dn19cfsay1hwbTY1vp AmDijmqO50vmrcZ/QoP+EPAIxkyj0IXOoUS3QqH40ZCa7LwlgWR9h2r4XfsHjsKgfOFJ zwzw== X-Gm-Message-State: ANoB5pkb1gJ7f3HgCHqfQhnet4gaLu9wttGzttB14HQhVzzwhm6b7dap 3XIAhdJsFuuC6OSoNuYCL4AajAiwqiGv3Dw/4K4= X-Google-Smtp-Source: AA0mqf6FunU2m6ukvN4q+bCs0pWQEd+PXAvqYVMieS3Di5x7p/yeKzWgGxtXAWtWI/HC4sjTd1aThBLlGT5mpt4KFFI= X-Received: by 2002:a0d:c6c7:0:b0:36c:dd56:ce59 with SMTP id i190-20020a0dc6c7000000b0036cdd56ce59mr7424492ywd.321.1670488492307; Thu, 08 Dec 2022 00:34:52 -0800 (PST) MIME-Version: 1.0 References: <9e3026aa-39a1-dd50-4d29-a64724d4eaaf@irit.fr> <20221208082103.zg44mrv77jrizsaj@chazelas.org> In-Reply-To: <20221208082103.zg44mrv77jrizsaj@chazelas.org> From: Roman Perepelitsa Date: Thu, 8 Dec 2022 09:34:41 +0100 Message-ID: Subject: Re: Get cursor position (Was: [bug report] prompt can erase messages written on the terminal by background processes) To: Bart Schaefer , Roman Perepelitsa , Millian Poquet , zsh-workers@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 51132 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 Thu, Dec 8, 2022 at 9:21 AM Stephane Chazelas wrote: > > curpos() { > set -o localoptions -o extendedglob > local match answer > IFS= read -rsdR -t0.2 answer$'?\e[6n' && > [[ $answer = (#b)$'\e['(<->)';'(<->) ]] && > eval "${1-x}=\$match[2] ${2-y}=\$match[1]" > } Functions that accept output parameter names as arguments are tricky. The following won't work: # Which line is the cursor on? curpos _ answer print -r -- "The cursor is on the line number $answer" Roman.