From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 81dfc5c9 for ; Wed, 31 Jul 2019 07:24:14 +0000 (UTC) Received: (qmail 5751 invoked by alias); 31 Jul 2019 07:24:05 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 44620 Received: (qmail 5461 invoked by uid 1010); 31 Jul 2019 07:24:04 -0000 X-Qmail-Scanner-Diagnostics: from mail-io1-f42.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.2/25524. spamassassin: 3.4.2. Clear:RC:0(209.85.166.42):SA:0(-2.0/5.0):. Processed in 1.150338 secs); 31 Jul 2019 07:24:04 -0000 X-Envelope-From: roman.perepelitsa@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.166.42 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FDedI9/CWU/eGie4WRLeSXtEzXBL+T03Xh8hep874Jk=; b=m/aUB/dJpG+gjvtCOcguWqXf+M4T25YSYT13Fc790nb+6rier59RCDaba9k/rePY6M Brs5J+byMg+e9NtfpIHdYR8M7UNY5gMcmLggZ1SsyVgjiw88pBGP4DRzMyXrU8l72hyQ zJLEQjCoZv6gnit+qdOH1EAFM7gQ4PwrneRpIumKbLazSOeASwJxWaMUssErqi5XyFyt uRlBrOEZ0/4dgOc2gnxVAvUrd5Wq3SePyk1mVW9QyI05UcBZp+GrbK8S1P4DKVHd5eDI zz41vPXpnqY9/XiHMrPFQSfoFyEFcTQ3hVT04KTL/J0imMLpGgSa7k3iDK8qolHDHygn LNIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FDedI9/CWU/eGie4WRLeSXtEzXBL+T03Xh8hep874Jk=; b=VKkMwFk4ja4Ekm/Nfjh7Hyd9FGcb93XQZP5+P5ysWDM2uG9Qd+UzS1mG5H53aicVVv DYVd6bfFzi7evbcDtyqTOoZFctitSDnUBqrOQC4zmVp+a50Vn3oZC5IurvkUWdsEiHls Y/2SA23F3AgKnV+jhS53/GExM0E2FtnFL+S0heOT/v4kq5aKpWB0DEYVPsQSHICx7wn0 RDYCvHMCFIoSag1UFSRdLWiab15rVl0aebsrkP38YHCM0tSHttxgGei9sHJlEXTf+tdF VluE0JB9JrmHfwCC3DnskDIEEYL+5o5N/0RZcQcyJbCJrsZ0eYpzkZADY6VYoTjp34A9 MfUQ== X-Gm-Message-State: APjAAAWERzncrn825dAw7LuQpUmdobp3cubyqSFCgZGoVubxh6WsFN3b f0D5qpBKPY2326+DG1tOtwNBowyYpL2qGcleIBA= X-Google-Smtp-Source: APXvYqyE31thLaJPgc7rJrp8TRHDotpjIJ6qYdnoYk82pRS5YzIFmehfQ8lK5WmzlUjk/FN64WyYVIw4VcXX62IA4lw= X-Received: by 2002:a5e:db0a:: with SMTP id q10mr24279726iop.168.1564557809781; Wed, 31 Jul 2019 00:23:29 -0700 (PDT) MIME-Version: 1.0 References: <49013421-774e-4389-a25d-680f1d97a8ef@www.fastmail.com> In-Reply-To: From: Roman Perepelitsa Date: Wed, 31 Jul 2019 09:23:18 +0200 Message-ID: Subject: =?UTF-8?Q?Re=3A_A_serious_bug_in_execution_=E2=80=93_where_to_debug=3F?= To: Sebastian Gniazdowski Cc: Daniel Shahaf , Zsh hackers list Content-Type: text/plain; charset="UTF-8" On Wed, Jul 31, 2019 at 3:30 AM Sebastian Gniazdowski wrote: > > On Wed, 31 Jul 2019 at 00:39, Roman Perepelitsa > wrote: > > > I'm on the fence on this issue. As long as I don't get too many bug > > reports because of over-ambitious plugin managers, I'm fine. > > So Zplugin is considered an over-ambitious plugin manager by you? :) I meant over-ambitious in the specific sense mentioned above -- advertising features that are not and cannot be implemented. There is no way for users to tell whether unloading is safe to use zplugin to unload X and what the consequences are if it isn't. Features whose user-observable behavior cannot be described even in theory, and for which an honest specification is tightly tied to their implementation details, are over-ambitious. Saying that zplugin can unload arbitrary code is inaccurate at best and deceptive at worst. What it can do is unset parameters/functions/etc set by the code. Note how this refers to the implementation and not the user-observable behavior. What the user will actually see is unpredictable. > Besides, isn't your prompt little > over-ambitious too? ;) With the binary, background daemon? ;D Spawning long-lived background processes that opt-out of job control isn't uncommon among zsh themes and plugins. Powerline, p10k, p9k, zinc, pure all do it. So does zplugin, I believe. The level of daemonization and sharing differ: powerline detaches its child process and shares it among multiple shells; p10k and everything else using gitstatusd double-forks and creates a new session with setsid; pure and zplugin leave their processes as children. Technical differences in background process management make it impossible to implement clean shutdown for these themes/plugins externally but they don't make them over-ambitious. Powerline does what it claims to do -- give you a prompt with lots of colors and ornaments. No leaky abstractions, no deception. Having said that, I have no illusions about the utility of my public zsh code. If all zsh plugins and themes would disappear overnight, I don't know if the world would be better or worse off. This ecosystem feeds on customization addiction after all. Roman.