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 13617 invoked from network); 5 Dec 2022 20:01:54 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 5 Dec 2022 20:01:54 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670270514; b=lX5HVNRnzpDhj0naz4E8v83n9F+gkLsZ+N5Vpg0wkp7T7F5cBi/pOZE9U32CTFXXLytx2LJGRR k0Z2d9xMjCTuq+WV80nVmFAVjZjo1y20ge5DnciafhBdGi2YoofIXquG6WgFRzt+XEcBbp53lu j6vx5IsHrqFmgyIty7aV/9ph6VEAISkohQX2QShwYuveBohMaBBsHRJVS4MrY/Pzz8zrdUkzW4 YzUX+0UEHUuK21sPdRvr3mRjdQswQ8ECn840BQcR1NABz0eqI4Nr++PjsWQ2cap2Ooxp9TdNDe MdaUQmKan+SL/+zhGqEcpJ5l11Hg+1jZ1+uKB74Kv8yS0Q==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yw1-f175.google.com) smtp.remote-ip=209.85.128.175; 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=1670270514; bh=UcqRTFSbokJOJ1c8cXuJzxuaBpoq78YCMMVtG/BpNms=; 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=KGMDJ2XkXz15eIBepswzlnoQGUDyWVlLM1NRasLpHVgvBz//QlPqMXK1fVsmNrWFjeA8MfeDlg 7Nad6NkXjSvpqnSq/GHDOobAp7NAAQwGITJzfBZCJR/cwdptnMiOBO16W9Zqg+KOCQ1HeM2T8L CavluzAmizaAW3GMMmoVZbbdBURpWE+D7mX14/Bgu7a8fZJeeHbyIHXSlylCaCj6Azp2cZhA9i D96ouLNtK37JujnKXou7GHBSxlnrGKfuyJYbhcGrebOe4CEdUt4bb91Ud1iXqLi0eSNcj2zRuf 3/EIMJDuE+G4p7ynFgxmbxeMs9GNAipio7a8BYh1F3rneQ==; 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=1kUrdXUWvieSllESSBVJ/WnGDnFyVOT0XRus6quqGkQ=; b=bYxDt2nSZp2JK9A4ecL1B0uX85 sTnz35nG2hlY1imKwDy1jnY+nfZRUbW8f28rNcuy/CXBT7Fr22hdzBh0L/plSeu+971NcbSkaP2il 4r2keoy8wYbhleQdhNiE50umKBMMMFPCf955tYAjVuFCvtNJcg9AQ/u/TUL6UsFiGrADLS9YYW9ZF Phi14B9KCqwSlPZDiF3YuQeSsY3riO+UnMpWwPKJBWi96uwknWU8QsA9BpVIoQbj1jimNVwIjx5cw N+AF49I26v/R7ZH7avLueREr3NmZaKAW4DzuswbpetpBv1jd9B8fs+46noGNBkwZvOhtgYDd/YcHt H2J1JMBQ==; Received: by zero.zsh.org with local id 1p2Hf0-000O93-3z; Mon, 05 Dec 2022 20:01:54 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yw1-f175.google.com) smtp.remote-ip=209.85.128.175; 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-f175.google.com ([209.85.128.175]:45945) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1p2HcJ-000NLn-CP; Mon, 05 Dec 2022 19:59:07 +0000 Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-3b48b139b46so129557527b3.12 for ; Mon, 05 Dec 2022 11:59:07 -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=1kUrdXUWvieSllESSBVJ/WnGDnFyVOT0XRus6quqGkQ=; b=NsJ2lYjkNuuwWw9dJM1YJZ0kB4F63emvbU4ZyFej+sP4wfokaTeUF4I40Oej6CTWiL 71sGHVfBzR+Vh+rhfS2gtY/ZDmJFN1aF3Y3aVi5vCK0GoCxBhPMxlZYKHdONwPkIvJsr xCHXY8k9NF97hVDqYzLwJYPBKuJT2O3Aey5aifxqJE6QMoqNWxzDYD+yUPAjLd2oZRp3 deeRN+RXw3S+BAgytgZNN7QhDiYuyBxQWxyBe4HQU4fvyTGfd0clCjcipqM6unMotozh Xi7p7mbcTT08rUQ9663xV9kbU0/cgzYOyMbIdZPWQLGPpT+lu1QjvGgZIzyrLADOIwgU O4rw== 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=1kUrdXUWvieSllESSBVJ/WnGDnFyVOT0XRus6quqGkQ=; b=XqgJkUHeUpdzZgs5Zx7cUpmY35zG2tiZdRvwOD7l/UNi+dLPpdBCfzWf9zY1i2lxEv RprYMeFSG5Glb5xJBAR0N+wTWrFybQVl8luVNSzYsVMgo7iCuAmRY9ZiTS6mGSMA/Tdb pnyk1lqUIb+fEPSos9jQDYsst6+GlvxgkLwU4KgPRX3M7vbnAY6zr/Tx8Hkskn13aYKc kCGR9lovnEzTh/3B6coXbubJ4ye+dekF89ZM6mQeWcL4KN+w7kSOdJ1u9d4ScYnvEKVa FmWIhMb29CKiwzC5gex234n3WcnqG2PwIusKRyWqfTmqub3S4Dlc5U1qmyDp3SJn4lHp A5qQ== X-Gm-Message-State: ANoB5pmnw0RfSIfhux+jK9fnXT4M+9dnZ94PcrAOBG5o2xaOIQzUZt9v J7BZoQoEXkEE1BzTVstUUzj1Xecd72PnhVpIcxU+ss6P3uY= X-Google-Smtp-Source: AA0mqf77tJwGcutZSvAdwjqY5g+hqed297kFtkYE6PHXY56l0G75mXxJFrJbfrk3AxW8ooYkgGtytHJT4UgnR5zW+88= X-Received: by 2002:a0d:c484:0:b0:36c:dd56:ce59 with SMTP id g126-20020a0dc484000000b0036cdd56ce59mr60460979ywd.321.1670270346125; Mon, 05 Dec 2022 11:59:06 -0800 (PST) MIME-Version: 1.0 References: <54bcd6dd-e589-4696-f042-1155b78df9d2@eastlink.ca> <819c9630-f315-8b1c-cb52-3d3ae8de2d5c@eastlink.ca> In-Reply-To: <819c9630-f315-8b1c-cb52-3d3ae8de2d5c@eastlink.ca> From: Roman Perepelitsa Date: Mon, 5 Dec 2022 20:58:54 +0100 Message-ID: Subject: Re: The elements of enlightenment To: Ray Andrews Cc: zsh-users@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 28488 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: On Mon, Dec 5, 2022 at 8:36 PM Ray Andrews wrote: > > But, since setopt is a builtin anyway, why not just use it as is? Parsing things from text is usually more complex than dealing with the things that are already in a decent data structure. Your specific task may be an exception if you really want to produce the same output as `setopt` but with "off" in red. In this case it may be even desirable to manipulate the output of `setopt` rather than reconstructing it manually. > printf is heavy, no? setopt might be lighter? Neither printf nor setopt are heavy. Forks are extremely inefficient though. The cost of a fork is almost astronomical compared to simple operations. The following two lines achieve the same thing: var=$(printf hello) printf -v var hello On my machine the first line is 1500 times slower than the second. You need to execute this line only 100 times in order to have the total run time of a script in excess of 1 second. Imagine if every line of a script was this slow. Roman.