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 22336 invoked from network); 6 Dec 2022 18:58:27 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 6 Dec 2022 18:58:27 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670353107; b=oNnpKb4Qqi1morxYU43wCeSl1XeG+bdj0NOXV0886Zz6IQxlv8wdsFKlN1cQbCiqfzV+CnT5aM wfwgi0X+EqxSw/XuWnUuHhP9jGMUw7Qfl0ZNlU14wjxfaZDPh2R89pVVOM7ar1WmR/2p7ujohD 6/iY5z41VSyeQkRVNm5EJKe4gNgm50Fx05C4pmATGy+quN2uoIBccpoWjVTADru1VJC37+6M7R BpYP35kTUvitYoesU8araP5RgxQixbBtESRVwW0dk8qj44BV2mlB+uZOH5k27xJix71z1V9tRB f1izk4ZovKuzCKnVH0m92Znz2SF90E5I1kyvwxTlgcujcQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yw1-f170.google.com) smtp.remote-ip=209.85.128.170; 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=1670353107; bh=xuskF87CbPwSBBXN1XQiS5s6bu6WZMRWYGR/o5IGivo=; 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=bZX/f35NQ/7V7Zscm236m3NNCOLC4X/OpkdL7BG8beb/tTrimDfHR29a3J/wROA0ER23cthoFz KQJuJrcVJQWbWFHc8sVRbHYwh0zY8/rBLojWFnNrHPYOMsAXeIl6K1SzJBFN/CjhQgIYNeCvnY drD64yXjT6MEGGzp+8qciKEWoNQRXh5lYDAPQ6e/U3kokP4evxOlTp091mW1vxY5G3cH67lUWl Rkji84LbQo5fN0poECSRVNxQMdoTNOEO9SpQbambNTwAT6zw9nCLMbus51QEN+5INhcSIqVJ4V viAcSdtb4f6OBIWqfGSnNSX0seTZBo2Z/nwfagVvsGkFCA==; 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=xuskF87CbPwSBBXN1XQiS5s6bu6WZMRWYGR/o5IGivo=; b=bY36hV9p8/Jbx0E7kf+riWr9mb VReQnswJBJivGchJYsyOVwaIbpZbRF1RF9xyEsL0b6oFJVw14o52+gS8ujnmAHhBGmR95IuNwp69w HFFUV9dWYnc3WmDxupYcesTK/vrWWCaP0V3lO7NQsDyMfT67Hgvx0CskUvv/rf1X/QoVDkTXmdXwY asZS2dT1AFN6OcWaYsLLfnhDBR9Hj2DFWDmRIi5BF0LWMs5XuxyPtDThmaBbfSKPXYq0qfTaNkrIj FesnV0ykUEZpwFq+O14RomwJakoTNpcvlqED6gjt/qf0W0Z6sUTzsUdiAodDNeojYMVPhVM0P8+RV FWDRSyMg==; Received: by zero.zsh.org with local id 1p2d98-0005DP-Qm; Tue, 06 Dec 2022 18:58:26 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yw1-f170.google.com) smtp.remote-ip=209.85.128.170; 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-f170.google.com ([209.85.128.170]:40453) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1p2d6h-0004CK-DW; Tue, 06 Dec 2022 18:55:56 +0000 Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-381662c78a9so162193287b3.7 for ; Tue, 06 Dec 2022 10:55:55 -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=xuskF87CbPwSBBXN1XQiS5s6bu6WZMRWYGR/o5IGivo=; b=DvUH1i6bGvU9I7MA30qLuiujX6ZIFc3MtsN1hVAiXAjxZkqS89jGgNL0N0eQaBdtrA t6EGJYEsCZ1N7t8oceZy7IlVM94kQrd8ynfC/wbAcciehtgAXuyjYaOoPSJ3Zpws/Chl Rc1/Ya670iQn7VRTvwFem5ZVfhPYmwA9o3bgNWRYEk06bTUuFu7umPSjI3b8fKM11VvE Dxq0d7V9nMe2xZkNZCYHJ8CKodgldIa0kA9yV6t200WiBYE8+eHeAbxlYkAP62+TGv4f WH8rsfuk7APDXCWPBBbBN5s630KVT0NtU0LuzKaqC5XccEXRd1fRG30SxnGWH0sn9oFS Diog== 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=xuskF87CbPwSBBXN1XQiS5s6bu6WZMRWYGR/o5IGivo=; b=aspOzEnHZLdrKwmJI9LcGeLuujOqtEGXqLsYMZKHCUEWEtzc34Nct1717/d2QO12pN /Fqc/a6hl9cGPON3Kb4IGof9qigA2I1Zhw4182bMdnJoUWsq7CikJG0BNUTr8l1P0AXi OONMGrTDpwJCGTzGL+rIBFAPpTAxXF403u4aPdSFRl4mHF0NFuMjfhHlwQh4Grpbt5IK +wha0iVxcpfvS0Ub1P9oLJlSaOujB0zv/gRnyu7aVQ3Abvcc2wTUJFJuKmy3Aus1Q3Qz 0NgQkBU+Y1MtYybqXbuPOZ6SE1A2n1Fic5tlH3Wm26maeSa9LdB2DC+dqW/4PAY2SbqD 1dUQ== X-Gm-Message-State: ANoB5pkhKCChX57YAgL+TLXMHBtaZSNZOf6CPzAXZkkgKKORuQfp3VuX GI7S3RJnpkJwhq/DYjopqu1kA3kIMb7wh/aXbDc= X-Google-Smtp-Source: AA0mqf7C3j3IO8K3UxTkgR2R8s5WhQ7wIFLQFvaaHG1BZqpjOtKaqGWP61EoBPN1BbHsqtJn9GCOkR6kfCj/8KPVMQo= X-Received: by 2002:a81:5a55:0:b0:3da:bc09:40c1 with SMTP id o82-20020a815a55000000b003dabc0940c1mr22958180ywb.460.1670352953984; Tue, 06 Dec 2022 10:55:53 -0800 (PST) MIME-Version: 1.0 References: <54bcd6dd-e589-4696-f042-1155b78df9d2@eastlink.ca> <819c9630-f315-8b1c-cb52-3d3ae8de2d5c@eastlink.ca> <7eadf163-da34-d90b-61ce-b527fb75b597@eastlink.ca> <37b2456f-0459-4b85-74d1-bb380715e2ed@eastlink.ca> In-Reply-To: <37b2456f-0459-4b85-74d1-bb380715e2ed@eastlink.ca> From: Roman Perepelitsa Date: Tue, 6 Dec 2022 19:55:43 +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: 28508 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 Tue, Dec 6, 2022 at 12:53 AM Ray Andrews wrote: > > I hafta wonder why this forking is so necessary. It's necessary because it's user-visible. Some code relies on the PID within $(...) to be different from the parent. This is mostly relevant for signals. In addition, changes to parameters and other shell state within $(...) have no effect on the parent shell, which doesn't necessarily require forking but is made easier by it. That said, it's totally possible to extend zsh with something like $[ ... ] which would work like $( ... ) but without forking. It would run the commands in another thread within the same process. The main thread would be blocked on reading from the pipe until all commands are executed. Roman.