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.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12899 invoked from network); 14 Feb 2021 20:50:42 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 14 Feb 2021 20:50:42 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1613335842; b=w8VUClhjfuDLcJr0ENjnbCHEyDjj21GuJCeBxSNDev+PK0+64tue4QFUXs1vx3fjdfbyi5x3bp CY2LepqHcLGX5d4jS4/NaaYMdgWPWEayDypyGpjveVkd5iuCj+nAbno1tZlrbja99VECMPe43s 0/kzDfb2MslD43SxJTKrLaIQk8iWQWC8Lr71aS0kCShgeoS3qxbvVnnq14WCar/p7t3xuyzD5O z+MzqSpDZb3ocXfUdjCrvGGdZ4J83HzSEPHUYqLXIUepDD5eVAktJLExilXIplgZOZN078g7p/ fGRuSn5o7kh3Afufwuj3ik6Y87d/kkIuv83bhWJa6e0/QQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ot1-f53.google.com) smtp.remote-ip=209.85.210.53; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 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-20200801; t=1613335842; bh=/iR4N3dZMkwTvkUP81Oy+BuB4MFBt+vq4atxFn1aS2s=; 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=vhkM7p3jVqyuk4PHbZwx8gqPRRrpWDtTnnz5gL7uhCgtHYgplVxOM1rlyylsDhMfPnswFMgRCD dH0t7/fw/gmNJJpAScrNNfmYKaW3Y4oZw5hN5pt4AFl6Lu+YzjY+GHPiLI4hQIWOZ9++Atu7yJ tteaw/IVbPMF/O08uq4oC919RJg4Rw3Magtn+I2tTtxR80rRcq6MHF6PgVZOzJKiSEyoH8xOs0 nSRbCxpXT8qMlo4kxhThECjg5M7mFHuWJDCaMEn7bhaDYubLAWE6m4+3fzoxFi6+WhPF3QTL0j eoBSlSeL4G3y8dzFcAx+91sMzD4zNmMdWlDNsFctv7878w==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; 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=AIjeOgPwwWSyoxjN9s8kCS4WLICoeWYscw1pKiaLj6A=; b=sR3qre+XYqRZl21eugUDzFeTbp VjjdZwobVjX16qKmkvCrvHG9cSkQdspCGrMAWE4QDkTGXPo3hMGhRRjzcR6VdU/ncEXLMXIv925tc VWSJR0SArKRWDXG1gqHOs/l4GoUWf3uiYLIFjPyjNv8Qu7uLe0Lx/wzl/gB8Lo5eHiu4YqFsVIKiM s+I0fXvNYtLGvDP/AOIKWXzQqj4oIu6c/+QFjCtcmC3SpHvAOkMyI01w43Z6CVzKeHNcDHEtZPk9A LUnfVraMBe24LCIN0aoaczQr30p8q9mYamwZlfstIXAdlq85O6BHkq25VAJIsUQSh23cweLbRNkFS WxCAu0oA==; Received: from authenticated user by zero.zsh.org with local id 1lBOLp-0004fG-AR; Sun, 14 Feb 2021 20:50:41 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ot1-f53.google.com) smtp.remote-ip=209.85.210.53; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ot1-f53.google.com ([209.85.210.53]:34281) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1lBOLV-0004YM-Hh; Sun, 14 Feb 2021 20:50:23 +0000 Received: by mail-ot1-f53.google.com with SMTP id b16so1959612otq.1 for ; Sun, 14 Feb 2021 12:50:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=AIjeOgPwwWSyoxjN9s8kCS4WLICoeWYscw1pKiaLj6A=; b=B0AQTYfE6OKtimQVRe20i9D5LDh/poc0w/bb9fvpBzfJE+KyfiWmpXUAYH1kA2FOmB s5JW8ACTXAkC42ScGEln983qeAJ85LqCyivh6QlGmlgpYE71touJly4o8DK2p+zOr80C 5a+NQpoaaW1g5VoOxR0cVQPV/SMKPe3H/iyLaJdTN8+ktJiBf46vslofXt9YEyTACcz/ OLT7s2lYI4lEjsjGWcFvQg63kevTcK0zRb/R+0iiEedP748r/LHI/ZmQNajTSP/60kYL m31g5Dk146EFN0jRPJTryAg/tDkpNHkriJ9rRPoWegcbwp2sPoHDSj0jK03qcxfM0Ct7 Sl7A== 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; bh=AIjeOgPwwWSyoxjN9s8kCS4WLICoeWYscw1pKiaLj6A=; b=tloMlRjpQLG9w5ELDIcLBWup6jW28T0rOG6wHfnaEgIWzDzxx2X9rZpkmhqovti4uB 1cwVvVv9hr+bhIoY76L2XfMiHEqXwoVgZArf9gRcLU31hbbEpafJnWgKTgTBFoucAm8E 1HEKX6nAg5Dd3G4HNtzdYxXSkjgGbSAmPrwSbxnlfpcnyNr1lIs6IE54Oy7jO+Y4vpXi FKkn8yMhks98zdpwcrXBcrWcTPBRXWKxR/LP9dIp3yWLkct/jPBoVYi+G5vx4Ok9xTS8 s+Kho/DRFnx2xWylmE50/MsOyCWznF2u7gg5lFSYQIAN+fOpKw6QNV70WBBJQb+cEaXk D5Hg== X-Gm-Message-State: AOAM530zOi1e3S2SffZlG+0R7+89Mxi3PBxlKs846O/EOcqbBqOzBPcA eyXAjAovLzz0AaBT3qCQ/Od0Jedld05O7z9I8rQNLQVzCcRqcA== X-Google-Smtp-Source: ABdhPJxB5FP5n3UCeVyzvpLVj5gMij5HmbhbvT5TM9SHvBf7N/I7Lj8TWoJts/boWo26Os80BHlU/pMOqachuoykr6c= X-Received: by 2002:a9d:4f12:: with SMTP id d18mr9319686otl.161.1613335820061; Sun, 14 Feb 2021 12:50:20 -0800 (PST) MIME-Version: 1.0 References: <20210213083521.kv3y3qzfnaffflfh@chazelas.org> <20210213085319.v6svj6gpmmmzuiqp@chazelas.org> In-Reply-To: <20210213085319.v6svj6gpmmmzuiqp@chazelas.org> From: Bart Schaefer Date: Sun, 14 Feb 2021 12:50:08 -0800 Message-ID: Subject: Re: Block comments ala Ray To: Zsh hackers list Content-Type: text/plain; charset="UTF-8" X-Seq: 48047 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: Archived-At: On Sat, Feb 13, 2021 at 12:53 AM Stephane Chazelas wrote: > > 2021-02-13 08:35:21 +0000, Stephane Chazelas: > [...] > > - alternatively: <<#EOC .. EOC (or <<#{...} <<#[...] and the > > usual pairs) to make nesting easier. > > That one could allow [...] > > for a (pod head{1..4} over item back begin end for encoding) > aliases[=$a]='<<#=cut' It's a lot more difficult to do the lexical analysis if the comment introducer is more than 2 characters long, because if it turns out NOT to be a comment you have to be able to "unget" what has been read and re-lex it. It's not impossible, but it's ugly; compare all the messiness trying to determine whether $(( is introducing a math expression vs. a command substitution starting with a subshell. My intent is to introduce something similar to /* ... */, not an #if ... #endif equivalent. For the latter (or poddish) we really would have to introduce new here-document syntax, and just discard the document instead of wordcoding it.