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 27220 invoked from network); 23 Oct 2022 16:44:35 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 23 Oct 2022 16:44:35 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1666543475; b=cqMaxDNRzzBKidESz5kCaC6Yh7IExNsjN1T61pFl1M930fvHEXQqFbHqZAwj1Xw/pI6ZpDn7zA st1wCFrnO8INavGQXuQ9L9OnqTgpCz7z5YWuDFqTmyJnrsneBqp7qsv938lvGLSzlcLNbW0XnL ME6pZ4CUx01jg93dq/Bir2vdirwgi6v1X9ch1kFs500r3RkEH+ZwI0Fzp8mA8QKvvraxDjemqy PZHiCotd4l9ZxjWyuHYmU3CJf0GypdC927JoN1gI1S+XRQTT40ZJlUj3iepdS5I1IBPZ3+HTG8 co0nKbZEmRZ/fTEXH5XbPAK8901qs1DGeGtmDz09sz6gOQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yw1-f172.google.com) smtp.remote-ip=209.85.128.172; 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=1666543475; bh=hwStTt0kvaRBsif24X4r/7kb+MgHqEMANki8pe+Rizg=; 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=BY2LI3IuudTffIDHi8LZyWUwYz87OifGfK/hm+pFioVQhOtYXBmWh6NCdFkhTpyy/61oN2SZzY NH0HIbx/Lh6uOUmhIsJtNQxL2/ZAYNUSCbmWz8H8ggXActMOGGndeL0jLEIyDbpfvSmwqPMvpf FQHT/xyjVsHpRKtHdJZe3dYiBOtVhYgaSpIikI7pcnG4w5KwP8EC5SS28yjaHNPT1fWvQgpn+E Sk5ACYl/8YBNobXSdoQKwGaw12HoY7MCyDLCiRxd0Bo626nWIYNlqGYt/b0+yJ/EOFACRgoJJt umwyL3sV02czg91dGH7XfK8hcatw57pz1zGJbTLYub32Mw==; 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=vf3eYVg3VHNq3wRwqv7dfgPvZb92cT3XoLfc+EPZVxo=; b=JcO/JjlayUwv8ZHzKvSbCvK+Dt jJip192f+XxRGTL0Ggg1clEyfnkwiWObUbyGgGsNztP/wr5W+WqLIVaCqhIzA4be7jEZs1XFQpUkU VcWOrVX3T6Q3mtWExkny1CQ1/MDXpJJKw0Pe+bhCLNZ8u+aSkZGatGKZMgPJicMQrqi1Hx6OwVaem gO5sbpzfgvIoSkyx9ZEcSuzPzCBmcpM8CQIh6qfMEoH8CqNfsDDsx6LLAUPI9Cl5IOoI0i25960FG XsrSQ+1i69Ya/R7rGMhqvRXcp/YB7oXr3tItojJTwUe1ixDufsYi05uc0H8fQfFI68JFAOE4qul03 ZN6sy2EA==; Received: by zero.zsh.org with local id 1ome5T-000OOO-Ew; Sun, 23 Oct 2022 16:44:35 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yw1-f172.google.com) smtp.remote-ip=209.85.128.172; 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-f172.google.com ([209.85.128.172]:38511) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1ome53-000O3t-VO; Sun, 23 Oct 2022 16:44:11 +0000 Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-3321c2a8d4cso67474097b3.5 for ; Sun, 23 Oct 2022 09:44:09 -0700 (PDT) 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=vf3eYVg3VHNq3wRwqv7dfgPvZb92cT3XoLfc+EPZVxo=; b=K9k9+wHL5cI9YTpYAChUVQtllGElkYQuqwBR9AfLUQnBf/fYDLlSNwQfXCD8YWJuxp HBJq7aCZanJbBCFvnKrUXrx1nlHbJUQ+qwT+sOcVoMQn/JxtQIYTwbYxc0BsUWY61dxi /hexKW3Tyx9wt7jrTdTFHUCeOB/c+mUwYZX4NbRojRycwRXtZ1066KEn11AAtHI824qM 2ygjeEVEwzKHnsrobqthPn5EXboDAEsieg1dptXIF5nVWXxHAxfUbWnIQnQvOT6Z9iUa SxJeXHSu6tW4v/HftXogW+kmBWAfb1Wg1LPgJaFXRqOS8r7Fwv/vM/XEWyq7aqxV8onG q0tA== 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=vf3eYVg3VHNq3wRwqv7dfgPvZb92cT3XoLfc+EPZVxo=; b=hbF4u2XAU7sWNJ0GbwaNwm2is2KcbafT81iF53jnB8pRYPB4P8kyXdQTv3ysjwq7Gp 2iPMxGbF7zCDJBWLWGL1riNfO2GTSdHkncE8X7KiNV/OSdLXiWgciAQlxBGWQpAr6zI4 TZ6Gy+RemzSIKkHTdNrOAB/CEmO/IBTh+f/9MTduQqvS0TESVwu22NdLUkNuU48GlF82 2qNm9Pzao3zn+VkqvSJ0DBFYJZijHHJHBxcCsk76UEHugpguEKPZhhQZbQDNukRtnTMN t1AQ+s0w784fHcUXC0/0Gbal1IS5QzxLaVNLknRpoPwAzoO2GcqvVg4RSlDPlcPKtTyQ bhng== X-Gm-Message-State: ACrzQf2hjBl8WdtWl4to8Vm1201FgPnNQ8ZvuNE3wvFw85KQcKH2cJUP t5vl4rgpYdNuNTPFeISbT3W+KtnO80JX6TzbBfc= X-Google-Smtp-Source: AMsMyM6psxEbm4pwC0tn8apzla652gLR2SIxXOcR8650IyqD/EWRd0XIqVLgRF2AtxUWE1v1EAsyyph5P86pwg16t9A= X-Received: by 2002:a0d:d697:0:b0:36b:65c7:5b9d with SMTP id y145-20020a0dd697000000b0036b65c75b9dmr5652437ywd.321.1666543448539; Sun, 23 Oct 2022 09:44:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Roman Perepelitsa Date: Sun, 23 Oct 2022 18:43:54 +0200 Message-ID: Subject: Re: UNICODE Private Use Area characters in BUFFER To: Mikael Magnusson Cc: Zsh hackers list Content-Type: text/plain; charset="UTF-8" X-Seq: 50811 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 Sun, Oct 23, 2022 at 6:29 PM Mikael Magnusson wrote: > > > Note: Private Use Area characters work fine everywhere else. For example, > > in PS1. > > I'm not sure we have any choice, we have to know how wide every > character we print is, and presumably there is no defined width for > them as the characters themselves are not defined. All terminals by default display characters from Private Use Area as narrow. Zsh also (correctly) treats them as narrow. For example, you can do this: PS1=$'\uE0B0 ' Whether your terminal can render this glyph or not, everything will work fine. The character will take one column and zsh will know that. A few more tests to show that Private Use Area characters work find in zsh with the exception that you cannot put then in BUFFER: % x=$'\uE0B0' % print -r -- ${(m)#x} 1 % print -r -- ${${(%):-$x%1(l.at least 1 column.)}[2,-1]} at least 1 column % print -r -- ${${(%):-$x%2(l..less than 2 columns)}[2,-1]} less than 2 columns Roman.