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 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 C5D6F23D5F for ; Fri, 17 May 2024 19:06:24 +0200 (CEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1715965584; b=oVNP9YFG0UF8TbqARrp5wdZu5NzajkzN4YaY/zfuhCx5PuLc/yuibDrnAqjM6lqY87gknPPF1w N2Wb2D3WoeHweVVN9/74E8zU/zjYj7cCKTGh1Vj5RPNvsgsTJBilHekCMegfzjwORhu8KVaU5B s3FY/I0r45ttEUDWC/NSDmGHACJDWkWbOruwO3cESy/obnxaC92B2f1zsq/uckZ6X4wklFA2Oo ZshEMOv0oRqTmceEC1+tOAP3sVCIorwckRce3N5Icy3G+8ohbLc543ybVSVNUIihU2vgY5dAKV XEp9XKVEqfQq3taFrtU2eZnTlMLva8Wzqxty2ED4OFFC0w==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f45.google.com) smtp.remote-ip=209.85.218.45; 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=1715965584; bh=6r+bBGkdPgIsRkqUL7JFFbr8Pe6I5dQskP81TBM9Iao=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:Cc:To:Subject: Message-ID:Date:From:In-Reply-To:References:MIME-Version:DKIM-Signature: DKIM-Signature; b=pWaYfCDh3Z07Fef5U6GP78SMAjnzqpQwbDGm4xfZxExhwN8COQ6cHmUb6yvpLi4rURXygZ8Neq znMZZYzXDJgo+uMadV44HasK/Nu7mnI5D8ezUOmF/QuUTjWeyXQvDEW6biIr++46z0iVbV6Ast 9aE5jpzXDPa1mnbWOz6FtrDGPGcYQkF/RCBtS6fxCXRchgYmiI1AH+jWmYVSlmB0NQaam7jx47 UlsDgBkOdfszEEjmqAC/Zp9cZU+dLjJL26yFeHbBVgV16o2KfkyrWZ8xAiSHOEOskN+kIPTwTa vjSBFAlE0xHewSvPuGhYcHxZyBY7Zh+W+4h8LNumA19+Ig==; 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-Transfer-Encoding: Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=HrH0HoRPdjG8lqg0pZs287iiUvcCZ5UN1PDjOYVO+RI=; b=YQvFkXd5N1VYDzHucB2mlMExtz 65Ukt12otVa2xJBQxN4IaBwO4MQ8rYdVByT1ANHGVY3TtVuaati+JOsAl2gmpjxZIvhVAYST3Vfix aPtJcv094apH2yKUlh8auNUEQlTVPU/G7tE2SQyAxWRrG3VuTqnl7aZHPbAqtgp0BnfhenZT/YG2E Ksz1z134y2Vcv/NZQSLgBFPLFw3oUnDtjvfSHUCW+MK/HnlBXLMDrXGVyNBHH2TaGzogDmXuHaAEZ BjtmXztjn0xGsuq19NeHfuuFgzy5K/YdBLMBiT1l5HaMiLNlvPlPv3w1r7NmiDU0FqRZy7yJNt/jO H6HP3PUQ==; Received: by zero.zsh.org with local id 1s812G-0002OS-8t; Fri, 17 May 2024 17:06:24 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f45.google.com) smtp.remote-ip=209.85.218.45; 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-ej1-f45.google.com ([209.85.218.45]:55661) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1s810h-0001cw-Ez; Fri, 17 May 2024 17:04:49 +0000 Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-a59cf8140d0so440511966b.3 for ; Fri, 17 May 2024 10:04:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20230601.gappssmtp.com; s=20230601; t=1715965487; x=1716570287; darn=zsh.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HrH0HoRPdjG8lqg0pZs287iiUvcCZ5UN1PDjOYVO+RI=; b=p+B/bbSmiVsNuZBY2k+c9ByjH3LoKy6Zg6Jz+JUmohD7rwMfc9HqS2FidbU7X3j5YK 0ZPQsM3mBYQYvcrCwrp+4Nw7qVHd/TUYth9grCqL8BSivLzjMdVmhNoD5yYpH2+NG+uf Nwl0fq1i8PPIu5DrCpV4WLc7oYA98lLej47Luq6U/XM/fK9GvzLpcPBcOJZmSOaLBsQ/ Xbqv0B4NHnkvhnuiz0PB1/KwFG2+tjWC+lbQ2z8k9p4m3oCR8Z8NJToPJSwiftm/uWJS z3THSSo5cmdYQ0ICfzNevoEMvZ1nshbwBLN3RtUFe0uuAODpDenxqOwZhVzluCzXJB4m /g7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715965487; x=1716570287; h=content-transfer-encoding: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=HrH0HoRPdjG8lqg0pZs287iiUvcCZ5UN1PDjOYVO+RI=; b=J5UP1XU12GzJPTnzUIDSnJwLfwttUjR549jKah/DPOQuBqqe0+7HAsX0JqGehNmnyJ L1GLuYYcwtnDqhUOItOBQQhmy5GuMome6OIjQL3dzhQfwCqF26DeP+rR+sYqUTUZiQwV lYoLF5TiWrYHnsBSiKWQYHShEwT+mDovUYMQK2cpNZ4/DIlC1sooXa/iJFxgPXA9dtZR 2c0lTgjaU7ncSaA21+iKGeg0d8mPLSw0OutyLSuFVJMrlQLxpwXuacymqet2pXtEWxJn lSrcBKenQDYxY48629aDmXYqLnHeWYRCTxKIhGldmqT7jAA7CFVJu5SRu/UGJjRcFTEs aLrw== X-Gm-Message-State: AOJu0YwPK+E6g9zoVdwh1fGIjdxV2FOq5EvYkj/q4SM+7X3N7XTyxMQd M7Dug78K8cmj3FpqvkrrcxP7+4lC8EKurH3KPVS74czEqrbdpyCPqGIYm55JTm5gJW0NSVtmIvh i1GG8STDZ3jHeZBInoeLqsQm0WA8oYCIWP/Dw3+GKtw9ORIjjLA== X-Google-Smtp-Source: AGHT+IEaMLzuSlFnOtoyH0Bx3mCli7myMmHIdyn0+GeSTysYcQircPeJLf01NUi8SyCVcPTnF6djBoGiXC9U7gHOVF4= X-Received: by 2002:a17:906:3a8d:b0:a59:ad2b:ec95 with SMTP id a640c23a62f3a-a5a2d67e2c0mr1326436466b.67.1715965486773; Fri, 17 May 2024 10:04:46 -0700 (PDT) MIME-Version: 1.0 References: <9b97bc99-1d92-46f1-8841-c757d1dcee68@eastlink.ca> <09115b25-9017-4233-aaf2-6e4378aba53f@eastlink.ca> <4b8449d3-7dfe-4d37-9c6d-1dcf63d1d9b1@eastlink.ca> In-Reply-To: <4b8449d3-7dfe-4d37-9c6d-1dcf63d1d9b1@eastlink.ca> From: Bart Schaefer Date: Fri, 17 May 2024 10:04:35 -0700 Message-ID: Subject: Re: exit to shell from nested function calls. To: Ray Andrews Cc: zsh-users@zsh.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 29942 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 Fri, May 17, 2024 at 8:58=E2=80=AFAM Ray Andrews wrote: > > On 2024-05-17 08:40, Mark J. Reed wrote: > > Only define functions inside your interactive shell when they need to mak= e changes that persist after they exit - like changing directories, or upda= ting variable values, etc. > > That would limit their number considerably. Ok, goodbye functions Well, don't take the wrong lesson from this. There are other reasons to use functions in an interactive shell. Aside from functions being the only way to create custom ZLE actions (widgets), they are the best way to implement simple repetitive tasks that don't need the overhead of forking, and the only way to isolate temporary variables while retaining access to globals that are not exported. It's more a matter of determining which tasks are discrete. If you're writing something that needs neither to access nor to modify the state of the interactive shell, make it a script first, then think about whether it's simple enough to become a function.