From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id 19ED9258D7 for ; Sun, 25 Feb 2024 06:06:55 +0100 (CET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1708837615; b=UF4HMa4f8b4eo50t8Wzilw97jMY2oY+v2AO42hlTyAxkIq91ORqA8s2yXV93MwXmJWtp6iQRkd tOYs5GAUob7sd5XDV5TqQ8T73ZpgJ8Bx+2/avZdhJaA1+VXj5DxhynzqyKjbYPTi2VxhSfR1ad csVQkPlJpd2nb5MQS3v+yrVnj7VsB9SwsHLxjbaCBFr/KBsQQoEwSk05uRME/9PktiYAMa9kPF 4ECQInAcDFaZKFM2mUk7GLiSOXeXygRq7PSOu1U7iycP4gNht34bPJL7WVQhM6+Q2q8GtdM6PK 1TNddsvpepdQZk+HAVPLsd8fk7sPvdK6IkOZMsOcOptPAQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lf1-f49.google.com) smtp.remote-ip=209.85.167.49; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1708837615; bh=0cRoHenn7QZyTCDTbPRCBzSpwGkNeyocTvXLbgrff/8=; 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=Qbi3aT/vWN3/zsD9O/ALRVBVcCXs+/E/WEw+zM+EZzW2EaTo2sz7hydxdGjwxa7dDAHURz6/Di PPFDf6SNux39EmyZOeCuj96zL4es2weWchmLzSGqzbD/+PMi6v+spqVualpjzmoHZVDW0qWqg+ rlXv4/IcoPP52ZmNdMbLg9pitQEfdaV5WVJgYr78Ul2L17wr+25HPN0VrF5wKd6fIRd6NNIVI0 tUlgmSKz+l2i/19Lj3HXbPkNAZuH7Xk778Hchl1zFPmBF1nCTXrMIoKCFjTe5J4Yi+cEGqOXjw IYGcuX+goulih3Wpn5Gs1n4ghZwXgxbltG60Vxvik0c9IQ==; 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=IXLslMJJLOfP3RgWPQ+oNFk9TMAx2j/+J+nVXKW+1ro=; b=FOImZYnJ9QQ1tOLHZvxptraq5B gwB3XC0BZPqfNg7TN+O1RxqVdKPeiLNnLUuVVsfwNRCqcxkSa0Wv6GF+RGFv0McDSaiSzxHq7PLIs aunYNId91TpxWXXH0g/S9Vl/y911kZWwtq8LA679W/IoW7KgG3BPW/kEX+3scYoxDzCq1jFjBHJWr beQ79BU8T52aIrT6Ccf81ypa9e3cDkUqS6NPSGYVJQFhYrohT8uhJ+kEbaYpOp7E3duYVtuvI55Lc qCpz5z1Gk+UUZzP8enNpc8NV9c+r86vEV07INqjMVAEaQcVwItZj2EJHO7U+vAata+Mf3sHMwT5g4 HZ7I0VYQ==; Received: by zero.zsh.org with local id 1re6j1-0002te-FL; Sun, 25 Feb 2024 05:06:55 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lf1-f49.google.com) smtp.remote-ip=209.85.167.49; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-lf1-f49.google.com ([209.85.167.49]:57461) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1re6il-0002bt-Gm; Sun, 25 Feb 2024 05:06:41 +0000 Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-512ed314881so1582667e87.2 for ; Sat, 24 Feb 2024 21:06:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20230601.gappssmtp.com; s=20230601; t=1708837598; x=1709442398; darn=zsh.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=IXLslMJJLOfP3RgWPQ+oNFk9TMAx2j/+J+nVXKW+1ro=; b=rvkfHvoCm932UegrwMHLTVVfxW4O6ZgSVl/XMX3HFA3pIN1XT5g8ypGSoeroAy/QBJ eljqvJuPJG7c8hGuPurLCxS0eZUgz6BbC8r75uYMvQswIHCcqiZT+RXub842qcJBLmpT aa8uuONtzVytfkuEQkGCJGJA+eRbZpxXRnuj14QwsdMt/QmNocueGIj4xhNh4re3UL2h me09narByuXlEXMjszQ8InMU33Zq3ojJ+i/Z378ZrbxfwTF2Qtp07RmoAx4rDg+Yvqxz YSwTiy6pOfy14VSJMpfD9q5tZ3QL4SfAQ15Fwc1oPBGCzrxcl0/HPYPP7Ea8ImA5g7KX p4Hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708837598; x=1709442398; 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=IXLslMJJLOfP3RgWPQ+oNFk9TMAx2j/+J+nVXKW+1ro=; b=fulx9KCcuZYAT5lW8Dogd/GJrnN3yqggQ4NxALZV7y23EfKX9T5X/mY7Tknq2DlG30 2GxyzKXuk1DVpHXMjtern29hPtaU2dbXdv+/5NXZs0gM2+wV3yT3ZKTdZSTfW9nChqUU a7zinjqNA97kQeGNNwuI2eDqX9sJ6xdhW5sPkMj86APzQ0PMLow53riuPD7Lv0zK976G 7YDquJgOBIFP9e/CIAiZ41iYNYUqhnbgzlUunVlbvw28ZgHUw+LSv8kYEDHX4RvuhoJe 6+WK7sKKlBWAMkbokQGLuXtyM6RbMkq9yastcVymSpKIKYTB17w8jCRc3vzD+9OqP/ww R7yA== X-Gm-Message-State: AOJu0Yw1QlPczVMQz9IaIIeAdWtPMDatzqJYycTET8eaLAWex+0QwexW sSWkLkz0yexHZ7oVhOVEff2NuFHgTe/rIjRLZgv8sV2OYwaA1aY/ypFzNyyis01yJ6C2e87HJPP j4db/GpQ4oNwG48AJVQs4uZg4gHfNn73LUxNtWDEPIZjyHuRLbA== X-Google-Smtp-Source: AGHT+IE5E2rKiMrbxyXR2KrvVOwnhr/yvVkTrUhj0u3su+JoHIjmQTMHY4xNDbpJ4odByeqZztXXeoLBtdyCQBo/+HA= X-Received: by 2002:a05:6512:3b08:b0:512:f4d6:2d25 with SMTP id f8-20020a0565123b0800b00512f4d62d25mr1491070lfv.36.1708837598255; Sat, 24 Feb 2024 21:06:38 -0800 (PST) MIME-Version: 1.0 References: <836025199.2014747.1673889335246@mail.virginmedia.com> <20240220070505.fd6jfbcdldieqv7u@chazelas.org> <20240220193911.avnmcqfliwltkj5m@chazelas.org> <20240221194534.o2mufin7orng6ttg@chazelas.org> <20240221202150.tccftcqbxqqexq4x@chazelas.org> <20240222072313.7woy5vxvt4fbxyhj@chazelas.org> <20240222075528.eruaoosiuhmcrdsy@chazelas.org> In-Reply-To: <20240222075528.eruaoosiuhmcrdsy@chazelas.org> From: Bart Schaefer Date: Sat, 24 Feb 2024 21:06:27 -0800 Message-ID: Subject: [PATCH] count multibyte and metafied characters correctly for math ops errors To: zsh workers Content-Type: multipart/mixed; boundary="000000000000069be206122dc2dd" X-Seq: 52597 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: --000000000000069be206122dc2dd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Feb 21, 2024 at 11:55=E2=80=AFPM Stephane Chazelas wrote: > > $ ((1+|=C3=83=C3=83=C3=83=C3=83=C3=83=C3=83)) > zsh: bad math expression: operand expected at `|=C3=83=C3=83=C3=83=C3=83\= M-C...' As Stephane also pointed out, =C3=83=C3=83=C3=83=C3=83=C3=83=C3=83 is a val= id identifier, so it's not farfetched that someone could make a typo using one in a math expression. The code added here could be made into a utility [metalen() is almost there] but as I don't know of anywhere else this is needed, I just inlined it. I looked through the other mb_* routines in utils.c but they all appeared to do what would be extraneous work for this purpose. --000000000000069be206122dc2dd Content-Type: text/plain; charset="US-ASCII"; name="mathop-errmsgs.txt" Content-Disposition: attachment; filename="mathop-errmsgs.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lt11n8z20 ZGlmZiAtLWdpdCBhL1NyYy9tYXRoLmMgYi9TcmMvbWF0aC5jCmluZGV4IDUwYjY5ZDZhMS4uZDk3 ZGFlMjM4IDEwMDY0NAotLS0gYS9TcmMvbWF0aC5jCisrKyBiL1NyYy9tYXRoLmMKQEAgLTE1NTcs MjEgKzE1NTcsMzIgQEAgY2hlY2t1bmFyeShpbnQgbXRva2MsIGNoYXIgKm1wdHIpCiAJICAgIGVy cm1zZyA9IDI7CiAgICAgfQogICAgIGlmIChlcnJtc2cpIHsKLQlpbnQgbGVuLCBvdmVyID0gMDsK KwlpbnQgbGVuID0gMCwgb3ZlciA9IDA7CiAJY2hhciAqZXJydHlwZSA9IGVycm1zZyA9PSAyID8g Im9wZXJhdG9yIiA6ICJvcGVyYW5kIjsKIAl3aGlsZSAoaW5ibGFuaygqbXB0cikpCiAJICAgIG1w dHIrKzsKLQlsZW4gPSB6dHJsZW4obXB0cik7Ci0JaWYgKGxlbiA+IDEwKSB7Ci0JICAgIGxlbiA9 IDEwOwotCSAgICBvdmVyID0gMTsKKwlpZiAoaXNzZXQoTVVMVElCWVRFKSkKKwkgICAgTUJfQ0hB UklOSVQoKTsKKwl3aGlsZSAob3ZlciA8IDEwICYmIG1wdHJbbGVuXSkgeworCSAgICBpZiAoaXNz ZXQoTVVMVElCWVRFKSkKKwkJbGVuICs9IE1CX01FVEFDSEFSTEVOKG1wdHIrbGVuKTsKKwkgICAg ZWxzZQorCQlsZW4gKz0gKG1wdHJbbGVuXSA9PSBNZXRhID8gMiA6IDEpOworCSAgICArK292ZXI7 CisJfQorCWlmICgob3ZlciA9IG1wdHJbbGVuXSkpIHsKKwkgICAgbXB0ciA9IGR1cHN0cmluZyht cHRyKTsKKwkgICAgaWYgKG1wdHJbbGVuXSA9PSBNZXRhKQorCQltcHRyW2xlbisxXSA9IDA7CisJ ICAgIGVsc2UKKwkJbXB0cltsZW5dID0gMDsKIAl9CiAJaWYgKCEqbXB0cikKIAkgICAgemVycigi YmFkIG1hdGggZXhwcmVzc2lvbjogJXMgZXhwZWN0ZWQgYXQgZW5kIG9mIHN0cmluZyIsCiAJCWVy cnR5cGUpOwogCWVsc2UKLQkgICAgemVycigiYmFkIG1hdGggZXhwcmVzc2lvbjogJXMgZXhwZWN0 ZWQgYXQgYCVsJXMnIiwKLQkJIGVycnR5cGUsIG1wdHIsIGxlbiwgb3ZlciA/ICIuLi4iIDogIiIp OworCSAgICB6ZXJyKCJiYWQgbWF0aCBleHByZXNzaW9uOiAlcyBleHBlY3RlZCBhdCBgJXMlcyci LAorCQkgZXJydHlwZSwgbXB0ciwgb3ZlciA/ICIuLi4iIDogIiIpOwogICAgIH0KICAgICB1bmFy eSA9ICEodHAgJiBPUF9PUEYpOwogfQo= --000000000000069be206122dc2dd--